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 * update, a script to update all subrepos to the latest upstream revision * 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: (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: http://hg.gerg.ca/allextensions