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