7

私は現在、RCS のマージ コマンドを使用して 3 方向のマージを行っていますが、常に 1 つの問題に悩まされていました。-A オプションを使用すると、両方のファイルで行われた同じ変更が競合として表示されます。

<<<<<<< file1
file1 行 1
||||||| orig
orig line 1
======= file2
line 1
>>>>>>> file2
orig line 2
<<<<<<< orig =======
両方
の変更で追加された行
>>>>> >> file2
元の行 3

デフォルト (-E) を使用すると、これらの同一の変更は表示されませんが、出力には、祖先ではなく、次のような 2 つのコントリビューターのみが表示されます。

<<<<<<< file1
file1 line 1
=======
file2 line 1
>>>>>>> file2
orig line 2
行を両方の変更で追加
orig line 3

基本的に RCS マージと同じ動作をするが、同一の変更を自動的にマージしながら、競合する 3 つのバージョンすべてを表示する何らかの方法を持つプログラムはありますか?

4

2 に答える 2

7

diff3にはいくつかの興味深いオプションがあるようです。

Ubuntuについて:

       -m --merge
              edスクリプトの代わりにマージされたファイルを出力します(デフォルトは-A)。

非グラフィカルを要求しましたが、vimdiffとgvimdiffは3つの隣接するウィンドウを実行できます。

于 2008-12-18T23:37:29.327 に答える
1

KDiff3 はグラフィカルですが、コマンド ラインから呼び出されたときにマージを実行し、競合が発生した場合にのみ GUI を表示する「--auto」オプションがあります。これはまだ GUI が必要であることを意味しますが、kdiff3 はコマンド ラインから引き続き使用できます。私はいつもそのように使用しています(Windowsでは-他のバージョンについてはわかりません)。

(このコメントを他の KDiff3 投稿に追加したかったのですが、その方法がわかりませんでした - 申し訳ありません。)

于 2009-11-12T22:22:37.217 に答える