4

vimdiff は、2 つのファイルの差分をグラフィカルに表示するのに役立ち、左から右/右から左への変更を選択できるようにします。
私が扱っているファイルは巨大なファイルであり、vimdiff レポートの違いのほとんどは、いくつかを除いて自動マージできます。

あいまいさがなく、ツール svn マージおよび cvs マージ ツールと同様に、競合する解決策を残す限り、左右のファイルの違いを自動マージする vimdiff で利用可能なオプションがあるかどうかを知りたいですか?

4

3 に答える 3

4

これらの 2 つのファイルが分岐し、変更が別々に行われたベース コピーがない限り、2 つのファイルの変更を自動マージすることはできません。アイテムが片側にあり、反対側にない場合、このアイテムが新しく追加されたのか、既存のアイテムが削除されたのかを判断できません。リポジトリ内のファイルをマージする際にベース コピーが存在するため、cvs マージ、svn マージは変更を自動マージできます。

于 2010-01-22T21:26:19.980 に答える
3

バージョン管理を使用しない場合は、次の方法で diff と patch を試すことができます。

  1. ファイル (file.txt など) を変更する前に、元のバージョン (file.orig) のバックアップを作成します。
  2. 変更が加えられたら、パッチ ファイルを作成します。diff file.orig file.txt >patch.txt
  3. 変更をマージするファイルを取得します (file2.txt など)。
  4. 使用パッチ:patch file2.txt patch.txt

変更はマージされ、競合する行は別のファイルに配置されます。

于 2009-12-28T07:59:27.487 に答える
0

vimdiff はそれを許可していないようです。man ページには、
「vimdiff - Vim を使用してファイルの 2 つまたは 3 つのバージョンを編集し、相違点を表示する」と記載されています。

しかし、比較とマージを可能にするKdiff3を見ることができます。

于 2009-12-27T18:24:56.010 に答える