Next: , Up: Change Log   [Contents][Index]


28.2.1 変更ログコマンド

EmacsコマンドC-x 4 aは、編集しているファイルにたいする新しいエントリーを、変更ログファイルに追加します(add-change-log-entry-other-window)。そのファイルが実際にはバックアップファイルの場合、このコマンドはそのファイルの元のファイルのエントリーを適切に作成します — これはカレントバージョンから削除された関数のログエントリーを作成するとき便利です。

C-x 4 aは変更ログファイルをvisitして、一番最近のエントリーが今日の日付であなたの名前でない場合は、新しいエントリーを作成します。これはカレントファイルにたいする、新しいアイテムも作成します。このコマンドは多くの言語にたいして、変更された関数またはその他のオブジェクトを推測することすらできます。

変更ログファイルを探すために、Emacsは編集中ファイルのディレクトリーからディレクトリー構造を上方に検索します。デフォルトでは、バージョンコントロールディレクトリーのルートと思われるディレクトリーが見つかると、検索はストップします。これを変更するには、change-log-directory-filesをカスタマイズしてください。

変数add-log-keep-changes-togetherが非nilの場合、C-x 4 aは新しいアイテムを開始せず、そのファイルにたいする既存のアイテムに追加します。

同じ性質の複数の変更を1つにまとめることができます。最初のC-x 4 aの後にテキストを何も入力せずに、続けてC-x 4 aをタイプしていくと、他のシンボルが変更ログエントリーに追加されます。

add-log-always-start-new-recordが非nilの場合、最後のエントリーが同じ日付のあなたによる変更だったときでも、C-x 4 aは常に新しいエントリーを作成します。

変数change-log-version-info-enabledの値が非nilの場合、C-x 4 aは、ファイルのバージョン番号を変更ログのエントリーに追加します。これは変数change-log-version-number-regexp-listの正規表現を使用して、ファイルの最初の10%から、バージョン番号を探します。

変更ログファイルは、Change Logモードでvisitされます。このメジャーモードでは、グループ化されたアイテムの集まりは1つのパラグラフと扱われ。各エントリーはページとみなされます。これはエントリーの編集を容易にします。C-jおよびauto-fillは、新しい行を前の行と同様にインデントします。これはエントリーの内容を入力するとき便利です。

Change Logモードがオンの場合、next-errorコマンド(デフォルトではC-x `にバインドされています)を使用して、変更ログのエントリー間を移動することができます。次の変更ログエントリーだけでなく、そのファイルが変更された実際の場所にジャンプすることもあるでしょう。同じリストを戻って移動するのに、previous-errorを使うこともできます。

コマンドM-x change-log-mergeを使用して、他のログファイルを、エントリーの日付順を保持したまま、Change Logモードのバッファーにマージできます。

プログラムの変更を追跡して変更ログを維持する他の方法として、バージョンコントロールシステムがあります。VC logバッファーでは、C-c C-a (log-edit-insert-changelog)とタイプすると、変更ログが存在する場合は、関連する変更ログのエントリーを追加します。