Changing Mercurial "Default" Parent URL

Mercurial

Mercurial 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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAdam ErnstView Question on Stackoverflow
Solution 1 - MercurialAamirView Answer on Stackoverflow
Solution 2 - MercurialAdam ErnstView Answer on Stackoverflow
Solution 3 - MercurialnaXa stands with UkraineView Answer on Stackoverflow