6

我看到了指定三个文件(左、右和祖先)的选项,但似乎无法实际显示祖先。

在此处输入图像描述

底部窗格显示合并的结果。我宁愿看看原始内容是什么,这样我才能理解冲突左右两边的上下文。这可能吗?FileMerge 有糟糕的帮助文档。

4

4 回答 4

5

看起来在 2.5 版中他们终于添加了这个功能。“祖先”现在实际上意味着“祖先”,并且有一个单独的“合并”选项

从命令行,您可以执行以下操作:

$ opendiff mine theirs --ancestor base

其中“mine”是我的文件版本,“theirs”是我要合并的版本,“base”是“mine”和“theirs”的共同祖先。

此命令将打开文件合并并在底部显示祖先(在我 2010 年的示例中合并的位置)。

不幸的是,不能将 --merge 选项与 --ancestor 选项一起使用。因此,您不能同时查看三向合并和使用文件合并来解决冲突。

我开始使用文件合并来查看和理解冲突,然后像往常一样在文本编辑器中编辑冲突标记。(叹...)

于 2011-08-18T15:41:54.263 回答
4

@mehaase:这不完全正确。以下是 FileMerge 帮助中有关新祖先选项的文档:

Sometimes, you need to compare two versions of a file that have been modified
independently. For example, say two people branch a file; that is, they make
copies of a file and modify it. In this case, specify an ancestor file, which
is the common ancestor of the modified files.

The ancestor file lets FileMerge choose when to take changes from the left
file or the right file. For example, say the left file and the right file
contain a different version of line 33. If line 33 in the ancestor matches
line 33 in the left file, you know the change happened after the two files
branched off, and FileMerge prefers the newer version of line 33 in the right
file. If line 33 is different among the three files, you know that the files’
editors edited the lines separately. FileMerge displays that difference with
a red border and asks you to choose with edit to use.

所以祖先仍然没有显示,但它有助于合并工具在决定默认选择左侧或右侧时做出更明智的决定。

于 2012-04-07T08:50:43.010 回答
4

据我所知,filemerge 无法做到这一点。

付费(但非常好)应用程序:http: //www.deltopia.com/

开源:http: //sourcegear.com/diffmerge/

于 2011-03-01T09:26:24.020 回答
2

我意识到这个答案在技术上并没有回答关于如何使用 FileMerge的问题,但我使用 kdiff3(适用于 Windows、Mac 和 *nix),它显示了基础/祖先,加上左右,加上输出/结果, 用于 3 路合并。( http://kdiff3.sourceforge.net/ )

它不是一个漂亮的用户界面,但是(恕我直言)它使用起来相当简单并且运行良好。而且它是开源的。:-)

于 2013-10-31T06:11:32.407 回答