次: , 前: Documentation, 上: Programs


20.12 変更記録

コマンドC-x 4 aは、編集中のファイルに対する 新たな項目を変更記録ファイルに追加します (add-change-log-entry-other-window)。

変更記録ファイルは、プログラムを変更した日付やその理由を 時間順に記録したもので、個々の変更を記述した項目の並びから成ります。 通常は、編集しているファイルと同じディレクトリ、あるいは、 その親ディレクトリに置いたChangeLogと呼ばれる ファイルに保存されています。 1つのChangeLogファイルで、このファイルを置いたディレクトリや そのサブディレクトリに置いた全ファイルの変更を記録できます。

変更記録項目は、名前、(user-mail-addressから得られた) 電子メイルアドレス、現在の日付と時刻から成るヘッダ行で始まります。 変更記録内の各行はヘッダ行を除いて、つねに空白かタブで始まります。 1つの項目は小項目から構成され、 各小項目は空白と星印で始まる行で始まります。 以下は、1993年5月付けの2つの項目で、 それぞれに2つの小項目があります。

     1993-05-25  Richard Stallman  <rms@gnu.org>
     
             * man.el: Rename symbols `man-*' to `Man-*'.
             (manual-entry): Make prompt string clearer.
     
             * simple.el (blink-matching-paren-distance):
             Change default to 12,000.
     
     1993-05-24  Richard Stallman  <rms@gnu.org>
     
             * vc.el (minor-mode-map-alist): Don't use it if it's void.
             (vc-cancel-version): Doc fix.

(Emacsの以前の版では、日付の形式が異なる。)

1つの項目で複数の変更を記述できます。 各変更について、それぞれの小項目を用意しなくてはいけません。 通常、小項目のあいだには空行がなくてはいけません。 小項目が関連している(場所は異なるが同じ変更の一部分の)場合には、 それらのあいだには空行を入れずに一塊にしておきます。 上記の2番目の項目には、このようにしてまとめた2つの小項目が含まれています。

C-x 4 aは、変更記録ファイルを訪問して、 最新の項目が今日の日付で当人の名前のものでなければ、 新たに項目を作成します。 また、現在のファイルに対する新たな小項目も作成します。 多くの言語に対して、変更された関数名やその他のオブジェクトを 推測することもできます。

変更記録ファイルは、変更記録(change-log)モードで訪問します。 このメジャーモードでは、(空行で区切らない)ひとまとまりの小項目群を 段落として扱い、各項目をページとして扱います。 これにより項目の編集が容易になります。 C-jや自動詰め込みにより、 新たな行は直前の行と同様に字下げされます。 これは項目内容を入力するのに便利です。

プログラムの変更を掌握し、変更記録を維持する他の手段としては、 版管理(バージョンコントロール)システムがあります。 See Log Buffer