名称
merge ― 3 ファイルからのファイルマージ
構文
merge file1 file2 file3
説明
merge は、単一のオリジナルファイルのリビジョンである 2 つのファイルを結合します。オリジナルファイルは file2, また改訂ファイルは file1 および file3 です。 merge は、 file2 から file3 に、また file2 から file1 に至る変更をすべて識別し、マージされたテキストを file1 に入れます。 -p オプションを使用すると、結果は file1 の代わりに標準出力に出力されます。
file1 および file3 の同じ箇所に変更がある場合、 重複が発生します。 merge は発生した重複の回数をプリントしますが、マージは結果に両方の変更方法を含んでいます。変更方法は以下のように範囲が設定されています。
<<<<<<< file1
lines in file1
=======
lines in file3
>>>>>>> file3
重複がある場合は file1 の結果をエディットし、変更方法の 1 つを削除してください。
このコマンドは、特に file1 および file3 が、共通の原本を file2 とする 2 つの分岐の末端である場合はリビジョン管理にたいへん便利です。
例
merge の代表的な使い方は以下のとおりです。
| 1. | | 幹に RCS の分岐をマージするには、まず RCS( co(1) を参照) からの 3 つの異なったバージョンをチェックアウトし、
5.2, 5.11, および 5.2.3.3 のリビジョン番号に対して名称変更します。
ファイル 5.2.3.3 は、ファイル 5.2 という幹から分岐した RCS の分岐の末端です。 |
| 2. | | この例として、ファイル 5.11 が幹上の最新のバージョンであると、 同時に「オリジナル」ファイル
5.2 のリビジョンでもあるとします。 以下のコマンドにより、分岐を幹にマージします。 |
| 3. | | この段階で、ファイル 5.11 には、分岐および幹上で行われた変更が すべて含まれていて、ファイルには重複した変更をすべて示すマーキングがあります。 |
| 4. | | ファイル 5.11 をエディットして重複を訂正し、それから ci コマンドを使用して再度ファイルをチェックインします ( ci(1) を参照)。 |
警告
merge は ed(1) システムエディタを使用します。したがって、 ed(1) のファイルサイズの制限が merge に適用されます。
著者
merge は Walter F. Tichy によって開発されました。
参照
diff3(1), diff(1), rcsmerge(1), co(1)