Mercurial clone from a branch

2019-01-31 11:16发布

问题:

We have a repository with three named branches, I wanted to clone one of the branches. Is there a mercurial command to do that? If I provide the path (of branch) with hg clone I get 404 error.

回答1:

hg clone http://your/repo -r branchname should do the trick.



回答2:

Benjamin's right. But is that really what you want to do? In particular, you'll only get the changesets needed to make up that branch, and nothing else - and that would, for example, prevent you from pulling changesets in from the trunk or other branches. You might well be better off just cloning the entire repository and then simply working in the branch you are interested in; this will let you keep your repository in sync with the one you're pulling from more easily.



回答3:

hg clone <URL> -b BRANCHNAME clone single branch, as requested



回答4:

I know that this post is very old, but I had the same question. I found this trick:

hg clone /path/to/your/repo -r 0
hg pull -u -b branchname


回答5:

I'm using Mercurial-4.0.2. In that we can specify the branch name by appending branch name with a # symbol in the clone url.

e.g.

hg clone https://user@cloneurl/my_product#MY_BRANCH

hg clone --verbose https://user@cloneurl/my_product#MY_BRANCH "C:\myCode"