Next: , Previous: , Up: Version Control   [Contents][Index]


28.1.4 Log Entryバッファーの機能

VCに変更のコミットを指示したとき、*vc-log*という名前のバッファーがポップアップします。このバッファーには、行った変更を説明するログエントリー(log entry)を書き込みます。書き込んだらC-c C-c (log-edit-done)とタイプして, そのバッファーを抜けて、ログエントリーとともに変更をコミットします。

*vc-log*バッファーのためのメジャーモードはLog Editモードで、これはTextモードの変種です(Text Modeを参照してください)。Log Editモードに入ると、Emacsはフックtext-mode-hookおよびvc-log-mode-hookを実行します(Hooksを参照してください)。

*vc-log*バッファーでは、1行以上のヘッダー行(header lines)を記入できます。これにはバージョンコントロールシステムにより提供される、追加の情報を指定します。各ヘッダー行は、そのバッファーの最初の1行を占めなければなりません。ヘッダー行でない最初の行は、ログエントリーの開始として扱われます。たとえば以下のヘッダー行は、その変更が他の開発者によるものだということを示します:

Author: J. R. Hacker <jrh@example.com>

Author’ヘッダーとは別に、Emacsは‘Date’ヘッダー(コミット日時を手入力で指定します)、‘Fixes’ヘッダー(変更によるバグフィクスへの参照)を認識します。すべてのバージョンコントロールシステムが、すべてのヘッダーを認識するわけではありません。Bazaarは3つのヘッダーすべてを認識し、Git、Mercurial、Monotoneは‘Author’と‘Date’だけを認識します。そのシステムでサポートされていないヘッダーを指定した場合、それはログエントリーの一部として扱われます。

*vc-log*バッファーにいる間は、カレントVCファイルセット(current VC fileset)とは、C-c C-cとタイプすることによりコミットされるファイルセットだと考えられます。そのVCファイルセットのファイル一覧を閲覧するには、C-c C-f (log-edit-show-files)とタイプします。そのVCファイルセットと、編集を開始したバージョンとのdiffを閲覧するには、C-c C-d (log-edit-show-diff)とタイプしてください。

VCファイルセットが1つ以上のChangeLog(Change Logを参照してください)ファイルを含む場合、C-c C-a (log-edit-insert-changelog)とタイプすると、関連するエントリーを、*vc-log*バッファーに引用します。各ChangeLogファイルの一番上のアイテムが、今日の日付でユーザー名があなたの場合、このコマンドはコミットされるファイルにマッチするエントリーのアイテムを検索して、それを挿入します。 CVSまたはRCSを使用している場合は、反対のこと — Log EditバッファーからChangeLogエントリーを生成 — を行います。Change Logs and VCを参照してください。

コミットを中止するには、そのバッファーで単にC-c C-cタイプしないで、バッファーを切り替えて他の編集を行うことができます。他のコミットを試みなければ、編集していたエントリーは*vc-log*に残っているので、後でそのバッファーに戻ってコミットを完了できます。

コミットコメントをコピーするために、以前のログエントリーの履歴を閲覧することもできます。これは、似たようなコメントで複数のコミットを行いたいとき便利です。これを行うコマンドM-nM-pM-sM-rは、これらがミニバッファーの外で使用される点を除けば、ミニバッファーのヒストリーコマンド(Minibuffer Historyを参照してください)と同様です。