誰がその行を変更したか?

時々どの行が変更されたかだけでなく、ファイル内で、誰がどの行を変更したのか正確に知りたいことがあります。その場合は、TortoiseSVN注釈履歴... コマンドでできます。また annotate コマンドも役に立つので、時々参照されています。

このコマンドは、ファイルの行ごとに作業者と変更されたリビジョンを表示します。

ファイルの注釈履歴

図4.44 注釈ダイアログ

注釈ダイアログ


ずっと前のリビジョンに興味がなければ、注釈を見始めるリビジョンを設定できます。リビジョンの注釈履歴を見るのなら、これを 1 に設定してください。

デフォルトでは、TortoiseBlame を使用して注釈を見ます。これは、異なるリビジョンを色分けして、見やすくしてくれます。注釈を印刷したり編集したりしたければ、注釈履歴を見るためにテキストビューアを用いる を選択してください。

改行コードや空白の変更に対する扱い方を指定できます。このオプションについては 「改行コードと空白のオプション」 で説明しています。デフォルトの振る舞いは、空白や改行コードの差異も実際の変更としますが、インデントの変更を無視してオリジナルの作者を見たい場合は、ここで適切なオプションを選択できます。

OK を押すと、TortoiseSVN は注釈ファイルを作成するため、データの取得を始めます。ファイルへの変更の量とリポジトリへのネットワーク接続に依存しますが、終了するのに数分かかることに注意してください。注釈プロセスが終了すると、結果を一時ファイルに書き出し、結果を表示します。

図4.45 TortoiseBlame

TortoiseBlame


TortoiseSVN に含まれる TortoiseBlame は、注釈ファイルを読みやすくしてくれます。マウスをある行の注釈情報列の上に持っていくと、同じリビジョンの行の背景を濃くして表示します。同じ更新者が行ったけれどもリビジョンが異なる行は、薄く色を付けて表示します。ディスプレイが 256 色モードに設定されていると、きれいに色分けされない可能性があります。

行の上で 左クリック すると、同じリビジョンのすべての行に色分けされます。同じ作業者の、他のリビジョンの行は薄い色で色分けされます。この色分けは貼り付いて、色分けを失わないようにマウスを移動できます。リビジョンをもう一度クリックすると、色分けが解除されます。

注釈情報の列の上ならどこでもマウスを持ってくると、ヒントボックスの中にリビジョンのコメント (ログメッセージ) を表示します。そのリビジョンのログメッセージをコピーするには、注釈情報の列を右クリックしてでてくるコンテキストメニューを使用してください。

注釈レポートを 編集検索... を使用して検索できます。これでリビジョン番号、作業者、ファイルの内容を検索できます。ログメッセージは検索できません。ログダイアログを使用して検索してください。

また、編集指定した行へ移動... で指定した行番号にジャンプします。

注釈情報列の上にマウスを持っていくと、リビジョンを比較したり、履歴を検査するのに便利なコンテキストメニューが利用可能になります。この時マウスのある行のリビジョン番号を参照します。コンテキストメニュー前リビジョンの注釈履歴 では、同じファイルに対する前のリビジョンを上限とした注釈履歴レポートを生成します。今見ている行に対する最終更新の、直前のファイルの状態を表す注釈履歴レポートを得られます。コンテキストメニュー変更を表示 は、参照しているリビジョンの変更点を表示する diff ビューアを起動します。コンテキストメニューログを表示は、参照しているリビジョンから始まる、リビジョンログダイアログを表示します。

もっと視覚的に変更点の新旧を見たい場合、表示各行の変更時期を色分けする を選択してください。これにより、新しい行は赤、古い行は青のグラデーションで表します。デフォルトの色分けは、薄い色になっていますが、TortoiseBlame の設定で変更できます。

別のパスからマージした変更がある行でマージ追跡している場合、TortoiseBlame はマージしたところのリビジョンではなく、オリジナルファイルの最終更新のリビジョンと作者を表示します。そのような行は、リビジョンと作者をイタリックで表示します。この方法でマージした行を見ない場合は、マージ情報を含める チェックボックスのチェックを外してください。

マージされるパスを確認する場合、表示パスをマージ を選択してください。

TortoiseBlame の設定は、TortoiseSVN設定... の TortoiseBlame タブでアクセスできます。「TortoiseBlame の設定」 をご覧ください。

注釈履歴の差分

注釈レポートの制限に、特定のリビジョンにあるファイルしか見られず、行ごとに最終更新者しか表示できない、というものがあります。時にはどんな変更が行われたのと同じように、誰が変更を行ったかを知りたいこともあるでしょう。ここで必要となるのが、注釈レポートと差分の組み合わせです。

リビジョンログダイアログには、以下のようないくつかのオプションがあります。

リビジョンの注釈履歴

画面上部のリビジョンを 2 つ選択し、コンテキストメニューリビジョンの注釈履歴 を選択してください。これにより、この 2 つのリビジョンの注釈履歴を取得し、差分ビューアで注釈を比較できます。

変更の注釈履歴

上部ペインでリビジョンをひとつ選択し、下部ペインでファイルを選択したうえで、コンテキストメニュー変更の注釈履歴 を実行してください。選択したリビジョンのとその前のリビジョンの注釈データを取得し、差分ビューアで注釈を比較できます。

作業 BASE との比較と注釈

画面上部のリビジョンをひとつ選択し、コンテキストメニュー作業ベースとの比較・注釈履歴を行う を選択すると、そのファイルのログを表示します。選択したリビジョンと作業中の BASE にあるファイルの注釈データを取得し、差分ビューアで注釈を比較します。