mercurialrepositoryhg-paths

How can I add remote repositories in Mercurial?


I am working with Git repositories in the following way:

I am about to switch from Git to Mercurial and I would like to know ahead how I can achieve something like that.


Solution

  • You add entries to the [paths] section of your local clone's .hg/hgrc file. Here's an example of a section that would go in the .hg/hgrc file:

    [paths]
    remote1 = http://path/to/remote1
    remote2 = http://path/to/remote2
    

    You can then use commands like hg push remote1 to send changesets to that repo. If you want that remote repo to update is working directory you'd need to put a changegroup hook in place at that remote location that does an update. That would look something like:

    [hooks]
    changegroup = hg update 2>&1 > /dev/null && path/to/script/restart-server.sh
    

    Not everyone is a big fan of having remote repos automatically update their working directories on push, and it's certainly not the default.