Next: , Up: VCのその他のコマンドと機能   [Contents][Index]


29.1.12.1 変更ログとVC

ChangeLogファイル (変更ログを参照してください)をもつプロググラムにたいしてRCSやCVSを使用する場合、 バージョンコントロールの以前のコミットのログエントリーから、ChangeLogのエントリーを生成することができます。

これはRCSとCVSだけで機能することに注意してください。この手段は特に、現代的な変更セットベースのバージョンコントロールシステムには不適切です。なぜなら、ChangeLogファイルへの変更自体が、通常は変更セットの一部としてコミットされるからです。この場合、最初にChangeLogエントリーを記述して、コミットするときにそれを‘*vc-log*’バッファーに引用します (Log Entryバッファーの機能を参照してください)。

C-x v a

カレントディレクトリーのChangeLogファイルをvisitして、そのディレクトリーの登録されたファイルにたいして、最新のChangeLogエントリー以降にコミットされたバージョンにたいする、新しいエントリーを作成します。(vc-update-change-log)。

C-u C-x v a

上記と同様ですが、カレントバッファーのファイルにたいするエントリーだけを探します。

たとえば、ChangeLogの最初の行の日付が1999-04-10で、それ以降のチェックインは1999-05-22のNathaniel Bowditchによるrcs2logだけで、それのログエントリーが‘Ignore log messages that start with '#'.’だったとします。その場合、C-x v aChangeLogエントリーとして、以下を挿入します:

1999-05-22  Nathaniel Bowditch  <nat@apn.org>

        * rcs2log: Ignore log messages that start with '#'.

バージョンコントロールのログエントリーが、(行頭にカッコで括られて記述される)関数名を指定する場合、それはChangeLogのエントリーに反映されます。たとえばvc.elにたいするログエントリーが‘(vc-do-command): Check call-process status.’の場合、ChangeLogのエントリーは以下のようになります:

1999-05-06  Nathaniel Bowditch  <nat@apn.org>

        * vc.el (vc-do-command): Check call-process status.

C-x v aが複数のChangeLogエントリーを1度に追加するとき、それらがすべて同じ作者に、ほぼ同じ日時にチェックインされている場合、関連するログエントリーとしてそれらをグループ化します。複数のファイルにたいするログエントリーがすべての同じテキストの場合、それらを1つのエントリーにまとめます。