Changing Mercurial "Default" Parent URL
MercurialMercurial Problem Overview
Let's say I have a Mercurial repository and I'm pulling from a default parent URL (the source I cloned it from).
Now I want to change the default parent URL (hostname change, or it was copied to another machine, etc.). Is there a way to do this, or do I have to re-clone from the new URL?
Mercurial Solutions
Solution 1 - Mercurial
You can even add multiple entries in the [paths] section of your .hg/hgrc file.
[paths]
default = /repo_store/hg/project1
sandbox = /repo_store/hg/project1_experimental
And then can specify its alias in the mercurial commands. default repo need not be specified but others have to be like,
hg in # check incoming changes from default repo
hg in default # check incoming changes from default repo
hg in sandbox # check incoming changes from sandbox repo
hg pull sandbox # pull changes from sandbox repo
Solution 2 - Mercurial
I just found the answer to my own question. Edit the .hg/hgrc
file in the repository, change the default
setting under the [paths]
section. Simple!
Solution 3 - Mercurial
Example of setting default BitBucket repository for Mercurial push and pull.
Normally we can use
$ hg push https://bitbucket.org/username/com.example.app
But if we want to use $ hg push
without the repository URL we must add the URL to the file $REPO/.hg/hgrc. We add the following contents:
[paths]
default = https://bitbucket.org/username/com.example.app
Regarding your question, just set the default
path to new URL.