如果我的存储库中有两个头 - C 和 D,它们具有 B 的共同父级 - 并且我执行 hg merge
然后执行 hg commit
,到底是什么是在那个 merge 变更集中吗?我试图了解我所看到的内容 hg diff -c xyz
其中 xyz 是 merge 变更集的 id。
变更集是否会显示 C 和 D 中修改的所有文件与这些文件存在于公共(public)父存储库 B 中的状态之间的差异?
最佳答案
merge 提交有两个父级,因此在运行差异时,了解您要针对哪个父级进行比较非常重要。
hg diff -c <changeset>
显示变更集相对于第一个父级的差异。
来自 hg help diff
:
diff may generate unexpected results for merges, as it will default to comparing against the working directory's first parent changeset if no revisions are specified.
要与特定父级进行比较,最好提供 merge 变更集和当前父级的显式修订(例如 hg diff -r <parent> -r <merge changeset>
关于mercurial - 了解 Mercurial merge 变更集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5739256/