【问题标题】:How can you do a merge 'conflict report' in Mercurial?如何在 Mercurial 中进行合并“冲突报告”?
【发布时间】:2011-04-12 19:29:46
【问题描述】:
如何在 Mercurial 中进行合并“冲突报告”?
给定一个文件在两个头中的两个相互冲突的修订,您如何输出显示父级和每个头中的两组修订的报告?
基本上,我想将冲突的“报告”发送给拥有该文件的开发人员,以便他可以评论如何最好地进行合并。
我们使用 BeyondCompare 作为我们的合并工具 - 在 BeyondCompare 中看不到执行此操作的选项。
【问题讨论】:
标签:
mercurial
merge
beyondcompare
【解决方案1】:
修订涵盖所有文件,因此无论您设想的任何报告都不会包含每个文件的修订信息。
如果您已开始与 hg merge 合并并遇到合并冲突,您可以执行 hg resolve --list 以获取所有冲突文件的列表。 hg parents 命令将在合并期间列出正在合并的两个头。
您可以使用hg archive -I file1 -I file2 --revision head1 head1.zip 之类的东西来制作一个包含文件file1 和file2 的存档文件,因为它们位于修订版头1。如果你对所有有冲突的文件和每个头都这样做,你就有了可以发送的东西。
理想情况下,您只需告诉开发人员拉取、合并和推送合并——这在 Mercurial 内部很容易处理,而在它外部则很笨拙。