MERGE(1)

名称
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: ; Release Date: .
Copyright © 1982, 1988, 1989 by Walter F. Tichy.
Copyright © 1990, 1991 by Paul Eggert.

関連項目
diff3(1), diff(1), rcsmerge(1), co(1).