hg-publishall / README.markdown


Hg-publishall is a mercurial extension which allows you to push simultaneously to multiple repositories, in a single command.


First, clone the repository, let's say in your home directory:

hg clone ssh://hg@bitbucket.org/Kizlum/hg-publishall ~/hg-publishall

Then add the following to your .hgrc file in order to activate the extension:

publishall = /Users/thomas/code/hg-publishall/hg-publishall/publishall.py

And voilà!


Add as many paths as you want to your repository/.hg/hgrc file, and when you want to push, use one of the following:

hg pushall
hg pusha


  • As of r10 you can now pass --new-branch to the command in order to create remote branches.

    hg init base hg init target1 hg init target2 echo -e "[paths]\ntarget1=../target1\ntarget2=../target2" > base/.hg/hgrc cd base touch bar hg commit -A -m "first commit on default" hg pushall hg branch newbranch touch foo hg commit -A -m "create a new branch" hg pushall # This fails hg pushall --new-branch


  • Hg-publish plays great with hg-git.

Get involved

Hg-publishall is licensed under MIT license, so feel free to hack as much as you wish.

The official repository is on Bitbucket, but a mirror is available on GitHub.

Finally, if you find a bug, have a feature request or want to submit a patch, just fill a ticket on the issues tracker.


In order of appearance,

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.