Next: , Previous: , Up: バージョンコントロール   [Contents][Index]


29.1.7 VC Change Log

C-x v l

カレントファイルセットの変更履歴を表示します(vc-print-log)。

C-x v L

カレントレポジトリの変更履歴を表示します(vc-print-root-log)。

C-x v b l

別ブランチの変更履歴を表示します(vc-print-branch-log)

C-x v I

pull操作が取り込む変更を表示します(vc-log-incoming)。

C-x v O

push操作が送信する変更を表示します(vc-log-outgoing)。

C-x v h

カレントバッファーがvisit中のファイルのリージョンにたいして行われた変更の履歴を表示します(vc-region-history)。

M-x vc-log-search RET

指定したパターンの変更履歴を検索します。

C-x v l (vc-print-log)は、*vc-change-log*という名前のバッファーを表示して、誰が変更したのか、その日時、各変更のログエントリー(これらは*vc-log*バッファーを通じて入力したログエントリーと同じです。Log Entryバッファーの機能を参照)を含む、カレントファイルセットに行われた変更の履歴を長い形式で表示します。ファイルをvisitしているバッファーから呼び出した際には、そのファイル単独でカレントファイルセットが構成されるとともに、表示中の*vc-change-log*バッファーでは、そのファイルのリビジョンの中央にポイントが配置されます。VC Directoryバッファー(VC Directoryモードを参照)やDiredバッファー(Dired (ディレクトリーエディター)を参照)から呼び出された場合には、マークされているすべてのファイル(マークされているファイルがなければディレクトリーバッファーのカレント行に表示されているファイルがデフォルト)からファイルセットが構成されることになります。

ファイルセットに1つ以上のディレクトリーが含まれる場合には、VCバックエンドがサポートしていれば短い変更ログ、サポートしていなければ長い形式のログを表示する*vc-change-log*バッファーが得られます。

プレフィックス引数を指定すると、*vc-change-log*バッファーで中央に表示するリビジョン、および表示するリビジョンの最大数の入力を求めます。

C-x v L (vc-print-root-log)はバージョンコントロールされたディレクトリーツリー全体の履歴を示す*vc-change-log*バッファーを表示します(RCS、SCCS、CVS、SRCはこの機能をサポートしない)。コマンドにプレフィクス引数を与えると表示するリビジョンの最大数の入力を求めます。プレフィクス数引数は入力を求めることなくリビジョンの最大数を指定します。C-1 C-x v LC-u 1 C-x v Lのようにプレフィクス数引数が1ならコマンドはリビジョンIDの入力を求めて、そのリビジョンで導入された変更(diff)とともにリビジョンのログエントリーを表示します(RCSやCVSのように機能に劣るバージョンコントロールシステムにはdiffとともにリビジョンログを表示するコマンドがなく、このコマンドはそれらにたいしてはログエントリーだけを表示するので、以下のdDをタイプしてdiffを要求できる)。

C-x v Lでは履歴は簡略化された形式で表示され、通常は各ログエントリーの最初の行だけが表示されます。しかし*vc-change-log*バッファーでRET (log-view-toggle-entry-display)とタイプすると、ポイント位置のリビジョンのログエントリー全体を表示します。2回目のRETで、再びそれを隠します。

C-x v b l branch-name RET (vc-print-branch-log)はvc-print-root-logと同様にバージョンコントロールされているディレクトリーツリーの履歴を*vc-change-log*バッファーに表示しますが、カレントブランチではなく別ブランチの履歴を表示します。そのためこのコマンドは履歴を表示するブランチの入力を求めます。

分散型のバージョンコントロールシステムでは、C-x v I (vc-log-incoming)コマンドは、次回にバージョンコントロールのpullコマンドを実行するときに、他所のリモートから受け取る新しいリビジョンにより適用される変更をログバッファーに表示します(ブランチへ/からの変更のpull/pushを参照)。ここで他所のリモートとは、バージョンコントロールシステムで定義された変更をpullするデフォルトのリモートのことです。プレフィクス引数を指定すると、vc-log-incomingは特定のリモートの入力を求めます。同様に、C-x v O (vc-log-outgoing)は、次回にpushコマンドを実行するときに、リモートに送る変更を表示します。プレフィクス引数を指定すると、送信先となる特定のリモート入力を求めます。一部のバージョンコントロールシステムではブランチ名かもしれません。

*vc-change-log*バッファーでは、リビジョンのログまたはファイル間の移動や、過去のリビジョン(古いリビジョンの調査と比較を参照してください)を調べたり比較するために、以下のキーを使うことができます:

p

前のリビジョンエントリーに移動します(logバッファーのリビジョンエントリーは通常、日時の降順になっているので、前のリビジョンアイテムは通常、もっと新しいリビジョンに対応します)。数引数は繰り返し回数です。

n

次のリビジョンエントリーに移動します。数引数は繰り返し回数です。

a

カレント行のリビジョンに注釈を付けます(古いリビジョンの調査と比較を参照してください)。

e

ポイント位置に表示された変更コメントを修正します。すべてのバージョンコントロールシステムが、変更コメントの修正をサポートするわけではないことに注意してください。

f

カレント行に示されたリビジョンをvisitします。

d

ポイント位置のリビジョンと、次に古いリビジョンとの間で、特定のファイルにたいするdiffを表示します。

D

ポイント位置のリビジョンと、次に古いリビジョンとの間で、変更セットのdiffを表示します。これは、そのリビジョンですべてのファイルにたいして行われた変更を表示します。

RET

簡略形式のlogバッファー(たとえばC-x v Lで作成されたバッファー)で、ポイント位置のログエントリーにたいして、完全なログエントリーの表示・非表示を切り替えます。

多くのログエントリーを取得するには時間がかかるので、*vc-change-log*バッファーは、デフォルトで2000を超えるリビジョンは表示しません。変数vc-log-show-limitはこの制限を指定します。この値を0にセットすると、制限が削除されます。既存の*vc-change-log*で、バッファーの最後のボタン‘Show 2X entries’または‘Show unlimited entries’をクリックして、表示するリビジョン数を増やすこともできます。しかしRCS、SCCS、CVS、SRCはこの機能をサポートしません。

変更履歴を確認する有用な変種はコマンドvc-region-history (デフォルトではC-x v hにバインド)により提供されます。これはカレントバッファーのファイルのポイントとマーク(マークとリージョンを参照)の間にあるリージョンに行われた変更の履歴を*VC-history*バッファーに表示します。変更履歴にはコミットログメッセージ(commit log messages)と変更自体のDiff形式も含まれます。

カレントバッファーの興味がある変更にたいしてリージョンをマークした後に、このコマンドを呼び出します。このコマンドがポップアップする*VC-history*バッファーでは、上述した*vc-change-log*バッファーで利用可能なコマンドすべてと、Diffモード(Diffモードを参照)で定義されたコマンドも使用できます。

このコマンドは現在のところGitとMercurial(hg)だけで利用可能です。

コマンドvc-log-searchにより変更ログのパターンによる検索が可能になります。これはパターン(正規表現)の入力を求めて、パターンにマッチするログメッセージをもつ変更履歴内のすべてのエントリーを表示します。プレフィクス引数とともに呼び出された際には、コマンドはこの目的にたいして実行する固有のVCSシェルコマンドの入力も求めます。