Subversion、CVS、RCS、SCCSでは、バージョンヘッダー(version headers)と呼ばれる文字列を、ファイル内に置くことができます。そのファイルがコミットされたとき、バージョンコントロールシステムは自動的にリビジョン番号、コミットしたユーザーの名前、その他関連する情報をバージョンヘッダーに挿入します。
VCは通常、バージョンヘッダーの情報を使用しません。例外として、RCSを使用している場合、EmacsはRCSのマスターファイルより信頼できる場合が多いという理由で、ファイルのバージョンを決定するためにバージョンヘッダーを使用します。この方法でバージョンヘッダーを使用するのを禁ずるには、変数vc-consult-headers
をnil
に変更します。その場合、VCは常に(それが信用できると推測されれば)ファイルパーミッションを使用し、それ以外はマスターファイルをチェックします。
カレントバッファーに適切なヘッダー文字列を挿入するには、コマンドM-x
vc-insert-headersを使用します。このコマンドはSubversion、CVS、RCS、SCCSだけで機能します。変数vc-backend-header
には、バージョンヘッダーに挿入されるキーワードのリストが含まれます。たとえばCVSはvc-cvs-header
を使用し、これのデフォルト値は'("\$Id\$")
です(余分なバックスラッシュは、もしEmacs
Lispファイルがバージョンコントロールにより保守されるときに、文字列定数がヘッダーと解釈されるのを防ぐためのものです)。vc-insert-headers
コマンドは。ポイント位置の新しい行にリストのタブで囲まれた各キーワードを挿入し、必要ならばコメント区切りで囲みます。
変数vc-static-header-alist
は、バッファー名にもとづき追加する文字列を指定します。これの値は、(regexp
.
format)
という形式の要素からなるリストです。regexpがバッファー名にマッチした場合、バージョンヘッダーの一部としてformatも挿入されます。formatの中の‘%s’は、そのファイルのバージョンコントロールのタイプに置換されます。