mercurial - 了解 Mercurial merge 变更集

标签 mercurial merge

如果我的存储库中有两个头 - 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/

相关文章:

mercurial - Mercurial : How to mark a changeset as 'stable'

c++ - c++ 可执行文件的不同 linux 发行版的问题

javascript - 在 three.js 中合并几何

javascript - Three.js 合并几何和八叉树选择

git - 如何在 Git 中恢复多个 merge

python - mercurial hgweb.cgi 和 python 匹配版本是什么

c++ - 构建 obj 和 exe 文件的最佳目录结构是什么?

mercurial - 在 Mercurial 中将父级添加到原始变更集

mercurial - 提交后修复Mercurial存储库中的重命名

git - 发生冲突时如何强制 merge 成功?