非图形3向合并工具

时间:2008-12-18 22:44:46

标签: rcs three-way-merge

我目前使用RCS的merge命令进行三向合并,但有一件事总是让我恼火。如果我使用-A选项,则在两个文件中进行的相同更改都会显示为冲突:

<<<<<<<文件1
file1第1行 |||||||原稿
orig line 1
=======
file2第1行 >>>>>>>文件2
orig line 2
<<<<<<<原稿
=======
在两个更改中添加了行 >>>>>>>文件2
orig line 3

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

<<<<<<<文件1
file1第1行 =======
file2第1行 >>>>>>>文件2
orig line 2
在两个更改中添加了行 orig line 3

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

2 个答案:

答案 0 :(得分:7)

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

关于ubuntu:

       -m  --merge
              Output merged file instead of ed script (default -A).

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

答案 1 :(得分:1)

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

(我想将此评论添加到其他KDiff3帖子中,但无法解决该怎么做 - 抱歉。)