我们正在使用mercurial / tortoisehg与窑上托管的中央存储库。
我们已经将我们正在做的事情缩小到最简单的可能情况。该场景始于Bob和Joe克隆了窑库,因此它们都以相同的集合开始。
在这种情况下,似乎Mercurial应该检测到两个用户都更新了不同的文件而不强制合并,这实际上是Joe拉鲍勃的变化,不得不重新推送并推动两个用户的更改。
谢谢大家。澄清我的问题:我们很好奇我们是否遗漏了某些东西,或者这是它的运作方式。在这种情况下,即使在合并期间没有冲突,hg仍然迫使我必须拉动,合并,重新发送并重新推送我已经提交的同事的更改并推送到中央存储库。
答案 0 :(得分:1)
Mercurial的工作方式。
如果Joe没有更改,则不需要合并或合并提交,他只能使用hg update tip
或hg pull
。但是,由于Joe在发出pull请求时发生了更改,即使它们不在同一个文件中,也需要合并。
此信息可在Mercurial指南中找到:https://www.mercurial-scm.org/guide
如果您没有对项目进行任何更改,那么当您使用feature1时,您可以更新到提示(hg更新提示),但您更有可能已经做了一些变化之间的其他变化。在这种情况下,是合并的时候了。
将feature1合并到项目代码中
$ hg merge
如果存在冲突,请使用hg resolve - 这也是合并告诉您在发生冲突时要做的事情。合并后,您必须明确提交以使您的合并最终
$ hg commit