Next: , Previous: Merging more than once, Up: Branching and merging


5.8 二つのリビジョン間の差分をマージする

update (と checkout) コマンドに ‘-j revision’ フラグを二つ付けることで、任意の二つのリビジョン間の違いをあなたの作業 コピーに加えることができます。

     $ cvs update -j 1.5 -j 1.3 backend.c

このようにするとリビジョン 1.3 と 1.5 間の変更を 全て元に戻すことになります。 リビジョンを指定する順序に十分注意して下さい!

複数のファイルに対してこのオプションを指定する場合は、 ファイルごとにリビジョン番号が全く異なるであろうことを思い出して下さい。 複数のファイルを操作する場合には、 リビジョン番号ではなく、 必ずタグ名を用いるようにして下さい。

2つ ‘-j’ オプションを指定すると、追加や削除を元に戻すこともできま す。例えば、リビジョン1.1として存在していた file1 という名前の ファイルがあり、それを消去した (つまり、死んだリビジョン1.2を追加しま した) としましょう。今、またそれを以前と同じ内容で追加したいと思ったと しましょう。これがそれをする方法です:

     $ cvs update -j 1.2 -j 1.1 file1
     U file1
     $ cvs commit -m test
     Checking in file1;
     /tmp/cvs-sanity/cvsroot/first-dir/file1,v  <--  file1
     new revision: 1.3; previous revision: 1.2
     done
     $