摆脱Mercurial中的非拓扑头

时间:2012-11-20 15:19:23

标签: mercurial

我的存储库中存在以下情况:

A----B----F----G----(long time)----H       <- default branch, H is what I'm working on
      \
       C----D                              <- default branch, long time ago
             \
              E                            <- non-default named branch

我正在使用默认分支,当前版本是H,提示。可悲的是,在历史时期,有人在D上工作,然后将其分支到一个命名分支,在修订版E中。(这实际上是一个SVN导入,但这没关系)。

直到现在,这不是问题,因为D不是拓扑头。但是现在我使用buildbot来执行一些测试,并且buildbot抱怨默认分支中的多个头。这是正确的,因为它使用hg heads来确定默认头部。

如何摆脱D作为默认分支的头?我想通过hg commit --close-branch关闭D.但这不是创造一个实际的拓扑头吗?

1 个答案:

答案 0 :(得分:3)

简答:否

图解答案

>hg glog --template "{rev}-{branch}\n"

o  9-German
|
| @  8-default
| |
o |  7-default
| |
o |  6-default
| |
o |  5-default
| |
| o  4-default
| |
| o  3-default
| |
| o  2-default
| |
| o  1-default
|/
o  0-default

>hg heads

changeset:   9:62eaf0f52632
branch:      German

changeset:   8:39b0fec94839

changeset:   7:d98a89a763cf

>hg up 7

>hg commit --close-branch -m "Close variation"

>hg heads

changeset:   9:62eaf0f52632
branch:      German

changeset:   8:39b0fec94839

如果创建(非封闭)10岁儿童

,新拓扑头将仅显示

Repo-Tree