[目次へ][4章へ][4.5へ][4.6へ] 最終更新:$Date: 2002/08/20 16:26:58 $

■第4章 もう少し便利なコマンドの使い方

rannotateを追加。文章はまだまだ。WinCvsではコマンド入力しか仕様がないんですが…どうしよう。(2002/8/15)


■■4.5 ファイル内の変更の構成を見てみよう(annotate, rannotate)

annotateあるいはrannotateコマンドを利用すると、あるリビジョンのファイルのどの部分がどのリビジョンで変更されたものなのかを知ることができます。annotateおよびrannotateコマンドの書式はそれぞれ【図4.5.1】、【図4.5.2】のようになります。なお、rannotateは1.11.1から導入された遠隔用の新しいコマンドです。他のrtagやrlogなどと同様に作業コピーを必要とせずに、モジュールの先頭から指定するタイプのコマンドです。

【図4.5.1】annotateコマンドの書式
▼
cvs annotate [-lRf] [-r リビジョン] [-D 日付] [ファイル群...]
▲
【図4.5.2】rannotateコマンドの書式
▼
cvs rannotate [-lRf] [-r リビジョン] [-D 日付] [ファイル群...]
▲ 

オプションで使うのは、リビジョン指定の-rと日付指定の-Dくらいでしょうね。

■■■4.5.1 まぁとにかく使ってみよう

ちょっとannotate用にファイルannotate.txtを用意してみたので、そのファイルについて変更内容を見てみましょう【図4.5.3】。【図4.5.2 3行目】の*が15個並んでいる行の下からが、の中身とそれに対する注釈(annotate)になっています。注釈は行毎に先頭に付加されています。たとえば、このファイルの1行目【図4.5.2 1行目】の注釈は、この行がリビジョン1.1で、それをコミットしたのがmikaというユーザで、コミットしたのは2002年8月14日であることを示しています。この行はそれから変化していないわけです。3行目は1.3ということで3回変更されています。最後のコミットは2002年8月14日になっています。いつ書き換えたのかよくわかりますね(ふう)。

【図4.5.3】annotate.txtに対する注釈を調べる
▼
% cvs annotate annotate.txt
Annotations for annotate.txt
***************
1.1          (mika     14-Aug-02): このファイルはannotateのテスト用ファイルです。
1.2          (mika     14-Aug-02):
1.4          (mika     17-Aug-02): 4回目の更新です。
1.3          (mika     14-Aug-02): 何箇所か変更・コミットして、その変更内容を眺めて見る予定です。
1.2          (mika     14-Aug-02): 実は同じ人が更新してもあまり面白くないんですが…。
1.2          (mika     14-Aug-02): 複数人数での話のところで紹介した方が良かったかも。
1.4          (mika     17-Aug-02): 同じ日付で面白くなかったので、もう一回更新。
▲

rannotateも使い方はほとんど変わりません。モジュールの先頭からファイル名を指定すれば、同じ結果が得られます【図4.5.4】。

【図4.5.4】rannotateを使ってみる
▼
vs rannotate cvstest/annotate.txt
Annotations for cvstest/annotate.txt
***************
1.1          (mika     14-Aug-02): このファイルはannotateのテスト用ファイルです。
1.2          (mika     14-Aug-02):
1.4          (mika     17-Aug-02): 4回目の更新です。
1.3          (mika     14-Aug-02): 何箇所か変更・コミットして、その変更内容を眺めて見る予定です。
1.2          (mika     14-Aug-02): 実は同じ人が更新してもあまり面白くないんですが…。
1.2          (mika     14-Aug-02): 複数人数での話のところで紹介した方が良かったかも。
1.4          (mika     17-Aug-02): 同じ日付で面白くなかったので、もう一回更新。

▲

ここで紹介しておいてなんですが、一人で使っている場合にannotateを使ってもいまいち楽しくありませんね…。

■■■4.5.2 WinCvsで注釈を見る

WinCvsには対応するメニューがありません。ですので、例によってメニュー[管理]→[コマンド入力(C)...]を使用します【図4.5.5】 。

【図4.5.5】 [管理]→[コマンド入力(C)...]メニュー

で、出てきたダイアログに、cvs annotateコマンドを打ち込みます【図4.5.6】。ここでは、difftest.txtについて眺めてみます。

【図4.5.6】 ※要差し替え

と、アウトプット領域に【図4.5.7】のように注釈が表示されます。

【図4.5.7】 
▼
cvs annotate difftest.txt 
Annotations for difftest.txt
***************
1.1          (mika     20-Aug-02): This is a diff test file.
1.2          (mika     20-Aug-02):       Spaces ignoring test.
1.1          (mika     20-Aug-02): 
1.3          (mika     20-Aug-02): 
1.3          (mika     20-Aug-02): 
1.1          (mika     20-Aug-02): Blank lines ignoring test.

*****CVS はコード 0 で終了しました*****

▲

rannotateもコマンド入力で呼び出さないといけないところは基本的に同じなので、省略します。上で見たように、モジュールの先頭ディレクトリから指定することさえ注意していればいいと思います。

■■■4.5.3 まとめ

●ファイル(targetfile)の変更の構成を見るには


 作業コピー内に入る 
↓
 cvs annotate targetfile