(Almost) all extensions together in one place
Greg Ward
greg at gerg.ca
Wed Mar 30 20:53:24 CDT 2011
[also available as http://hg.gerg.ca/allextensions/raw-file/tip/README.txt]
All Mercurial Extensions
========================
This project is a meta-repository that gathers together all known
Mercurial extensions that are not included with the latest version of
Mercurial, as listed in the Mercurial wiki. It has two purposes:
* make it easier to audit the universe of extensions for Mercurial
developers proposing an API change: "if I make this change, how
much pain will it cause for how many extension developers?"
* give Mercurial developers a place to play around with subrepos
This project includes the following:
* scrape, a script to parse the Mercurial wiki and find third-party
extensions and their repo URLs
* gather, a script that processes the output of scrape and creates
new subrepos as needed
* a subrepo for every extension currently known
Why is my extension missing?
----------------------------
The best way to get your extension listed is to make sure it is in the
Mercurial wiki, i.e. *all* of the following should be true:
* it must be listed in
http://mercurial.selenic.com/wiki/CategoryExtensionsByOthers
* the link in that page must work
* the extension page must contain a line like
Repository: <http url>
(Note that despite the name, `scrape` works by reading the source
wiki markup, not by parsing the rendered HTML.)
* the URL must be a cloneable Mercurial repository
Adding new extensions
---------------------
If you want to update allextensions by re-scraping the wiki:
1. run ./scrape; this will write repo-urls.txt with the
information it finds
2. run ./gather; this will read repo-urls.txt, make new clones
as needed and add lines to .hgsub
Neither scrape nor gather attempt to handle every conceivable
situation. That would be hard. scrape parses the wiki pages as best
it can and says when it's giving up. gather also tries to report
various error scenarios and move on.
Contact
-------
allextensions was initially cobbled together by Greg Ward
(greg at gerg dot ca). Contributions are welcome. Hacks to make
'scrape' see more extensions are not welcome: the right fix is to make
the extension meet the above requirements.
The canonical repository URL for allextensions is:
*to be determined* (selenic.com? bitbucket.org? other?)
For now, you can get it from
http://hg.gerg.ca/allextensions
More information about the Mercurial-devel
mailing list