Mercurial All Paths extension
Push or pull to many (or all) paths at once.
pushes to all paths defined for the repository (all paths returned by hg paths - usually defined in .hg/hgrc, but Path Pattern paths are also handled).
There is also corresponding:
Instead of using standard paths, you can define and use groups:
hg pushall -g publish
pushes to all paths specified in the [publish] config section, which should look like this:
[publish] bitbucket = ssh://firstname.lastname@example.org/ludovicchabant/piecrust github = git+ssh://email@example.com:ludovicchabant/PieCrust.git other = ssh://my@own/server local = /some/other/place
All standard push and pull options can be used:
hg pushall -b branch
hg pullall --force
Finally, there are:
which simply iterate over all paths.
If you have working pip or easy_install:
pip install --user mercurial_all_paths
sudo pip install mercurial_all_paths
Then activate by:
[extensions] mercurial_all_paths =
To upgrade, repeat the same command with --upgrade option, for example:
pip install --user --upgrade mercurial_all_paths
Clone this repository:
cd ~/sources hg clone https://bitbucket.org/Mekk/mercurial-all_paths/
pip install --user -e mercurial-all_paths
and activate as above, or just activate by full path:
[extensions] mercurial_path_pattern = ~/sources/mercurial-path_pattern/mercurial_path_pattern.py
To upgrade, pull and update.
Main extension repository, maintained by Ludovic Chabant, is available at:
Fork by Marcin Kasperski, which is usually in sync, but at times may contain some not-yet merged changes, is available at:
Information about this extension is also available on Mercurial Wiki: http://mercurial.selenic.com/wiki/AllPathsExtension