merge






merge − 2つのファイルの差分を別のファイルに適用する

merge [ −L label1 [ −L label3 ] ] [ −p ] [ −q ] file1 file2 file3

merge は file2 から file3 への変更のすべてを file1 に適用します。適用 結果は、 −p
オプションが指定されていれば標準出力へ、さもなければ file1 へ出力されます。 merge は、元のファイルに対して別々の変更が行われ
た場合に使います。たとえば、元のファイル file2 に対して、 file1 file3 のどちらも file2 を変更したものだとした場合、 merge
は両方の変 更結果を合成することになります。

     merge 前に file1 file3 の同じ部分に対して変更が行われていた場合、重 複のため正しくマージが行えません。 diff3 コマンドで
−E オプションを利用できない古い計算機では、 merge はこのような重複を検出することができず、 file3 への変更結果の みが残り、 file1
への変更結果は破棄されます。それ以外の多くの計算機では、重複が発生すると、 merge は(もし −q オプションが指定されていなけ
れば)その旨のメッセージを表示し、両方の変更点を結果として残します。その結果は、以下のようになります。

     <<<<<<< file1
     lines in file1
     =======
     lines in file3
     >>>>>>> file3

もし重複が発生したら、ユーザは重複箇所を編集し、修正しなければな りません。オプション −L label1 、 −L label3 が指定されたなら、出力結果の
file1 file3 の部分がオプションで指定したものに置き換わります。

重複が発生しなければ終了ステータス 0 を、重複が発生したらステータス 1 を、エラーが発生したらステータス 2 を返します。

Author: Walter F. Tichy.
Revision Number: 1.2; Release Date: 1993/07/24.
Copyright © 1982, 1988, 1989 by Walter F. Tichy.
Copyright © 1990, 1991 by Paul Eggert.

diff3(1), diff(1), rcsmerge(1), co(1).