mercurial复制现有分支

时间:2013-10-14 13:10:00

标签: mercurial

我们有3个分支,默认错误修正和发布。

在一些糟糕的合并之后,bugfix现在处于非常破碎的状态。我们暂时忽略了这个分支,但现在再次需要它。我希望它完全像默认,但合并不起作用,因为它现在具有与默认相同的祖先。

我试图将默认分支复制到bugfix分支,然后提交。

这似乎与

有关
hg up --rev commitB
hg diff --rev commitA

hg diff什么都没回来,

hg up --rev commitA
hg diff --rev commitB

hg diff什么都没有回复

但是当我从一个提交到另一个提交时,我仍然看到“42个文件已更新”,这让我觉得有差异......

我怎么能确定没有任何差异?如果我如何使分支相同?

1 个答案:

答案 0 :(得分:1)

分支比你对它们成像更具流动性。当你谈到分支X中的内容时,你真正在说的是“如果我查看最新的(技术上有意义的)提交,其branch:label设置为X,那么工作目录是什么样的。

因此,如果我理解您的需求,那么最简单的解决方案就是使用分支名bugfix创建一个新的(以及最近的)提交。这应该这样做:

hg update default
hg branch --force bugfix
...make a tiny change (perhaps to the readme)...
hg commit -m 'reinvogorating bugfix'

然后当你hg update bugfix时,它就像{I} deafult那样。

你正在做的事情是行不通的,因为已删除和/或默认添加的文件没有通过copypaste删除或添加到你的bugfix中,但是真的不要复制粘贴,只需重新创建bugfix off默认情况下完成它。