我正在使用 Mercurial,但我想任何知道它下面的版本控制系统的合并工具都可以做几件事情,一个不知道版本控制系统并且只在两个不同文件夹中看到两个“文件”的合并工具,永远做不到。
我一直在使用KDIFF3,最近尝试了BeyondCompare,但他们都不会这样做,至少我无法弄清楚。
我想要做的最好显示在这张图片中,一个注释列,甚至可能能够从这些注释列打开其他窗口,这样我就可以在尝试进行合并时浏览特定文件的特定版本以查看上下文。
在这里的图像中,我展示了一种双向合并,但同样适用于三向合并。在显示的实际文件内容的右侧或左侧,我想要一个装订线或右侧注释列,显示此更改来自何处的某种注释。由于 Mercurial 十六进制 id 相对不友好且无用,并且由于 repository-local-revision-numbers 是本地存储库,因此我认为基于提交注释的简短文本描述将是最有帮助的。当然,使用 Mercurial,99% 的提交评论会说“合并”,仅此而已。(呻吟。)但是让我们假装一分钟,我们没有使用让我们在合并时瘫痪的工具和工作流程,相反,我们每次都可以显示一个有用的提交评论:
现在复杂合并的工作流程对我来说是这样的:
使用我的分布式版本控制工具(mercurial),从另一个实际上是分支的存储库中提取更改。合并。TortoiseHg 的合并窗口通常是我开始这一切的地方。这反过来又让我配置了一个合并工具(除了比较或 Kdiff3)。
但是,似乎没有任何合并工具(我见过)可以告诉,“嘿,你不只是在两个完全不同的文件夹中将两种或三种方式与不同版本的文件合并,与我告诉过你的名称,但这些文件也是具有完整编辑历史记录的文件,可用于向你的人展示实际上下文,这些行更改来自的提交及其提交注释,通常有一个错误编号作为其中的一部分提交将使进行合并的人能够看到到底发生了什么。
例如,我会从 Mercurial 更改为 Git,甚至是为了获得真正的合并体验,而不会强迫我手动执行我认为我的工具可以自动为我执行的操作。我正在使用 Mercurial、TortoiseHG 和 KDIFF3,如果我可以从 KDIFF3 更改为其他工具,或者做任何事情来在一个屏幕上获取注释并合并在一起,我愿意这样做。