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-publishall

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

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

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,