7

我目前使用 RCS 的合并命令进行 3 路合并,但有一件事一直让我烦恼。如果我使用 -A 选项,在两个文件中所做的相同更改会显示为冲突:

<<<<<<< file1
file1 line 1
||||||| orig
orig line 1
=======
file2 line 1
>>>>>>> file2
orig line 2
<<<<<<< orig
=======
在两个更改中添加的行
>>>>> >> file2
原始第 3 行

如果我使用默认值 (-E),则不会显示这些相同的更改,但输出仅显示两个贡献者,而不是祖先,如下所示:

<<<<<<< file1
file1 line 1
=======
file2 line 1
>>>>>>> file2
orig line 2
line added in both changes
orig line 3

是否有一些程序基本上会执行与 RCS 合并相同的行为,但有某种方式可以显示所有三个冲突版本,同时自动合并相同的更改?

4

2 回答 2

7

看起来 diff3 有一些有趣的选项。

在 ubuntu 上:

       -m --合并
              输出合并文件而不是 ed 脚本(默认 -A)。

您要求非图形,但 vimdiff 和 gvimdiff 可以做 3 个相邻的窗口。

于 2008-12-18T23:37:29.327 回答
1

KDiff3 是图形化的,但它确实有一个“--auto”选项,当从命令行调用时,它将执行合并并仅在发生冲突时显示 GUI。我知道这意味着您仍然需要一个 GUI,但是 kdiff3 在命令行中仍然很有用。我一直以这种方式使用它(在 Windows 上 - 不确定其他版本)。

(我想将此评论添加到其他 KDiff3 帖子中,但不知道该怎么做 - 抱歉。)

于 2009-11-12T22:22:37.217 回答