Mercurial如何处理等效变更集?

时间:2015-02-16 11:36:12

标签: mercurial

我的设置如下:我有一个带有默认分支的存储库R和另一个名为branch" a"。在两个分支上,都存在一个文件" myFile.txt"。我克隆了存储库R,产生了克隆R_1和R_2。现在我" hg up默认"在R_1和" hg up a"在R_2。在R_1和R_2的两个工作目录中,I" echo' a' >> MYFILE.TXT&#34 ;.随后,我" hg ci -m'修复默认'并且" hg ci -m'修复了'分别在R_1和R_2中。接下来,我" hg push"在两个目录中。

在R中,我现在可以" hg up default"并且" hg up a"并查看两个分支中的修复(这是预期的)。但是,hg日志似乎只反映一个提交消息的一个变更集。我的感觉是Mercurial不知何故发现变更集是等价的,并且"合并"他们,这可能是提高效率的正确方法。

这是对的吗?它是如何工作的?实际选择了哪个提交消息?这可能听起来像是一个人工设置,但我实际上在实际设置中遇到了这种情况(显然更复杂)并且想确保没有任何不好的事情发生。

1 个答案:

答案 0 :(得分:0)

以下是hg help log的一部分:

  Note:
   for performance reasons, log FILE may omit duplicate changes made on
   branches and will not show removals or mode changes. To see all such
   changes, use the --removed switch.

所以你应该能够以这种方式看到两个变更集。

我不确定会显示哪个更改,哪个不会显示。这可能取决于如何在存储库中构建历史记录。由于没有提及,你可能不能依赖它。