次: , 前: Basic VC Editing, 上: Version Control


12.7.4 旧版の調査と比較

版管理の便利な機能の1つは、ファイルの任意の版を調べたり、 2つの版を比較できることです。

C-x v ~ version <RET>
訪問しているファイルの版versionを それ専用のバッファで調べる。
C-x v =
カレントバッファの内容とファイルのチェックインした最新版とを比較する。
C-u C-x v = file <RET> oldvers <RET> newvers <RET>
fileの指定した2つの版を比較する。
C-x v g
表示色を変えてCVSの注記コマンドの結果を表示する。

1つの旧版を調べるには、ファイルを訪問してC-x v ~ version <RET>vc-version-other-window)と打ちます。 これにより、ファイルの版versionのテキストを filename.~version~という名前のファイルに収め、 別のウィンドウのそれ専用のバッファでそのファイルを訪問します。 (RCSでは、旧版を選択して、それから枝分かれを作成できる。 see Branches。)

しかし通常は、コマンドC-x v =vc-diff)で ファイルの2つの版を比較したほうが、もっと便利です。 引数を指定しないC-x v =では、カレントファイルの内容 (必要があればファイルに保存する)とファイルのチェックインしてある 最新版とを比較します。 数引数を指定したC-u C-x v =では、 ファイル名と2つの版番号を読み取ってから、 指定したファイルの2つの版を比較します。

登録したファイルのかわりにディレクトリ名を指定すると、 このコマンドは、そのディレクトリとその下にあるサブディレクトリに 置かれているすべての登録されたファイルの指定した2つの版を比較します。

チェックインしてある版は、その番号で指定します。 入力が空だと、(チェックインしてある版とは異なるかもしれない)作業ファイルの 現在の内容を指定します。 版番号のかわりに、スナップショット名(see Snapshots)を指定することも できます。

このコマンドは、変数diff-switchesで指定されるオプションを用いて、 diffプログラムを実行して動作します。 その出力は別のウィンドウの特別なバッファに表示されます。 M-x diffコマンドと違って、C-x v =では新版と旧版の 相違箇所には移動できません。 というのは、通常、一方の版、あるいは、両方の版は、 比較するときにはファイルとしては存在していないからです。 それらは、マスタファイルの記録の中に存在するだけです。 M-x diffについてより詳しくは、See Comparing Files

CVSで管理しているファイルに関しては、 一目でわかるように複数の表示色を使って、CVS注記コマンドの結果を表示できます。 これには、M-x vc-annotateを使います。 赤は新版、青は旧版、それらの中間色は中間の版を表します。 数引数nは、時間尺度を伸ばします。 つまり、ある表示色で表す期間をn倍します。