リビジョンログダイアログ

変更してコミットするたびに、変更点ついてのログメッセージを残しておきましょう。これを見れば、後からどんな変更をなぜ行ったのかがわかりますし、開発プロセスの詳細なログにもなります。

リビジョンログダイアログでは、すべてのログメッセージが取得され表示されます。画面は3つの部分に分かれています。

他にも、コンテキストメニューのコマンドを使用すれば、プロジェクトの履歴についての追加情報を取得できます。

リビジョンログダイアログの起動

図4.18 リビジョンログダイアログ

リビジョンログダイアログ


ログダイアログは、様々な場所から表示することができます。

  • TortoiseSVN のコンテキストサブメニューから

  • プロパティページから

  • 更新が終わった進行ダイアログから。前回の更新から変更のあったリビジョンのみ、ログダイアログに表示されます。

  • リポジトリブラウザーから

リポジトリが使用できない場合、 オフラインにしますか? というダイアログが表示されます。詳しくは、 「オフラインモード」で説明します。

リビジョンログのアクション

上のリストの アクション 列には、そのリビジョンで何が行われたのかを示すアイコンが表示されます。4種類のアイコンが、それぞれ1列ずつ表示されます。

そのリビジョンでファイルやディレクトリが変更された場合、変更 アイコンが1列目に表示されます。

そのリビジョンでファイルやディレクトリが追加された場合、追加 アイコンが2列目に表示されます。

そのリビジョンでファイルやフォルダーが削除された場合、削除 アイコンが3列目に表示されます。

そのリビジョンでファイルやフォルダーが置換された場合、置換 アイコンが4列目に表示されます。

そのリビジョンでファイルやディレクトリが移動されたり名前が変更されたりした場合、移動 アイコンが4列目に表示されます。

そのリビジョンでファイルやフォルダーが移動または名前変更によって置換された場合、移動置換 アイコンが4列目に表示されます。

そのリビジョンでファイルやフォルダーがマージされた場合、マージ アイコンが4列目に表示されます。

そのリビジョンでファイルやフォルダーが逆マージされた場合、逆マージ アイコンが4列目に表示されます。

追加情報の取得

図4.19 リビジョンログダイアログの上部のリストのコンテキストメニュー

リビジョンログダイアログの上部のリストのコンテキストメニュー


ログダイアログの上部のリストには、より詳細な情報にアクセスできるコンテキストメニューがあります。このメニューにはファイルのログでしか現れないものや、フォルダーのログでしか現れないものがあります。

作業コピーと比較

作業コピーと選択したリビジョンを比較します。デフォルトの差分ツールは、 TortoiseSVN と共に提供されている TortoiseMerge です。フォルダーに対するログダイアログの場合、変更のあったファイルが一覧表示され、個々のファイルに対して変更を確認することができます。

作業ベースと比較/注釈履歴

選択したリビジョンと作業ベースのファイルの注釈履歴を取得し、差分ツールを使用して比較します。詳しくは 「注釈履歴の差分」を参照してください。(ファイルのみ)

Unified形式で変更を表示

選択したリビジョンで行われた変更点を、Unified差分ファイル(GNUパッチ形式)で表示します。差分のみが数行で表示されます。視覚的なファイル比較よりも分かりにくいのですが、すべての変更をまとめてコンパクトな形式で確認できます。

Shift キーを押しながらメニュー項目をクリックすると、最初にUnified差分ファイルのためのオプションを設定するためのダイアログが開きます。これらのオプションの中に、行末文字や空白文字の変更を無視するものが含まれています。

直前のリビジョンと比較

選択したリビジョンを直前のリビジョンと比較します。作業コピーとの比較と同じように動作します。フォルダーに対してこの操作を実行すると、まず比較するファイルを選択する「変更されたファイル」ダイアログが表示されます。

直前のリビジョンと比較/注釈履歴

ファイルを選択する「変更されたファイル」ダイアログが表示されます。選択したリビジョンと直前のリビジョンの注釈履歴を取得し、差分ツールを使用して結果を比較します。(フォルダーのみ)

リビジョンを保存...

選択したリビジョンをファイルに保存し、そのファイルの古いバージョンを入手します。(ファイルのみ)

開く/プログラムを指定して開く...

ファイル形式に対応する既定のビューアー、もしくは選択したプログラムのどちらかを用いて、選択したファイルを開きます。(ファイルのみ)

注釈履歴...

選択したリビジョンまでのファイルの注釈履歴を表示します。(ファイルのみ)

リポジトリの閲覧

選択したファイルやフォルダーを閲覧するため、リポジトリブラウザーを選択したリビジョンで開きます。

リビジョンからブランチ/タグを作成

選択したリビジョンからブランチやタグを作成します。タグを作成し忘れて、リリースに入れることを前提としていない変更をすでにコミットしてしまったような場合に便利です。

項目を特定リビジョンへ更新

作業コピーを選択したリビジョンに更新します。時間をさかのぼり、作業コピーを過去の状態にしたい場合や、リポジトリに他のコミットが行われた後で、作業コピーを一度に更新したい場合に便利です。単体のファイルではなく、作業コピー全体のディレクトリを更新するとよいでしょう。そうでなければ作業コピーに矛盾が発生してしまいます。

以前の変更点を永久に取り消したい場合は、代わりに このリビジョンに戻す を使用してください。

このリビジョンに戻す

以前のリビジョンに戻します。既にいくつか変更を行った後で、リビジョン N へ戻したい場合に使用するコマンドです。変更の取り消しは作業コピーで行われますので、変更をコミットするまではリポジトリに影響を 与えません 。選択したリビジョン以降の変更が すべて 取り消され、ファイルやフォルダーが以前のリビジョンに置き換えられてしまうので注意してください。

作業コピーが未変更の状態の場合、この操作を実行すると、作業コピーが変更の状態になります。すでに変更されている場合、このコマンドは作業コピーの変更を 取り消す 方向にマージします。

内部的には、 Subversion は選択されたリビジョンの後に行われたすべての変更の逆マージを実行し、以前のコミットの効果を元に戻すという動作をします。

この操作の後で、 元に戻したものを元に戻し 、作業コピーを以前の変更されていない状態に戻す場合、Windows エクスプローラーから TortoiseSVN変更の取り消し を実行し、逆マージ操作で行われたローカルの変更を取り消してください。

以前のリビジョンで、どんなファイルやフォルダーがあったのかを見たいだけであれば、代わりに 特定リビジョンへ更新リビジョンを保存... を使用してください。

このリビジョンにおける変更を取り消す

選択したリビジョンの変更を取り消します。作業コピーの変更が取り消されるので、この操作はリポジトリにまったく影響を 及ぼしません 。 そのリビジョンで行われた変更のみが元に戻されることに注意してください。作業コピーのファイル全体が以前のリビジョンに置き換えられるわけではありません。関係ない変更を行った後で、以前の変更を元に戻すのに便利です。

作業コピーが未変更の状態の場合、この操作を実行すると、作業コピーが変更の状態になります。すでに変更されている場合、このコマンドは作業コピーの変更を 取り消す 方向にマージします。

内部的には、 Subversion は選択したリビジョンで行われた変更の逆マージを実行し、以前のコミットの効果を元に戻すという動作をします。

このリビジョンに戻す で説明しているように、 元に戻したものを元に戻す こともできます。

このリビジョンをマージ...

選択したリビジョンを異なる作業コピーにマージします。フォルダー選択ダイアログでマージ結果を格納する作業コピーを選択できますが、確認ダイアログはなく、またマージのテストもできません。変更されていない作業コピーを用い、選択したリビジョンをマージするのに失敗したら変更を取り消すとよいでしょう。これはあるブランチから別のブランチへ、選択したリビジョンをマージするのに便利な機能です。

チェックアウト...

選択したリビジョンの選択したフォルダーを新たにチェックアウトします。 URL とリビジョンを確認するダイアログが現れるので、チェックアウトする場所を選択してください。

エクスポート...

選択したリビジョンの選択したファイルやフォルダーをエクスポートします。 URL とリビジョンを確認するダイアログが現れるので、エクスポートする場所を選択してください。

作者・ログメッセージを編集

以前に行ったコミットのログメッセージや作者を編集します。どのように行うかは、 「ログメッセージや作者の変更」をご覧ください。

リビジョンプロパティを表示

ログメッセージと作者に限らず、任意のリビジョンプロパティを表示・編集します。 「ログメッセージや作者の変更」をご覧ください。

クリップボードにコピー

選択したリビジョンのログ詳細をクリップボードにコピーします。これにはリビジョン番号、著者、日時、ログメッセージ、変更した項目の一覧がコピーされます。

ログメッセージを検索...

入力したテキストでログメッセージを検索します。ログメッセージの入力された部分と、 Subversion が作成した動作の概要(下の欄に表示)も検索対象になります。大文字小文字は区別されません。

Code Collaboratorのレビューを作成...

このメニューは、 SmartBear Code Collaborator がインストールされている場合にのみ表示されます。最初に実行すると、 Code Collaborator と Subversion の両方のユーザー認証を求めるダイアログが表示されます。いったん設定が格納されると、 Ctrl を押したままメニュー項目を実行しない限り、設定ダイアログは表示されなくなります。設定や選択されたリビジョンが Code Collaborator の GUI クライアントの起動に使用され、選択されたリビジョンに対して新しいレビューが作成されます。

図4.20 Code Collaborator 設定ダイアログ

Code Collaborator 設定ダイアログ


図4.21 2つのリビジョンを選択した時の上部のリストのコンテキストメニュー

2つのリビジョンを選択した時の上部のリストのコンテキストメニュー


同時に2つのリビジョンを(Ctrl を押しながら)選択すると、コンテキストメニューの内容が以下の機能に変わります。

リビジョンを比較

選択した2つのリビジョンを差分ツールで比較します。デフォルトの差分ツールは、 TortoiseSVN に同梱されている TortoiseMerge です。

フォルダーに対して実行した場合、変更のあったファイルを一覧表示するダイアログが表示され、差分を表示するオプションを指定できます。リビジョン比較ダイアログについては、 「フォルダーの比較」をご覧ください。

リビジョンの注釈履歴

2つのリビジョンの注釈履歴をとり、差分ツールで比較できます。詳細は、 「注釈履歴の差分」をご覧ください。

Unified形式で差分を表示

選択した2つのファイルの差分を、Unified差分ファイルで表示します。ファイルとフォルダーで動作します。

クリップボードにコピー

前述したように、ログメッセージをクリップボードにコピーします。

ログメッセージを検索...

前述したように、ログメッセージを検索します。

2つ以上のリビジョンを選択(通常 CtrlShift を押しながら選択)すると、コンテキストメニューには「これらのリビジョンにおける変更を取り消す」項目が現れます。これがリビジョンのグループを変更を一度に取り消す、最も簡単な方法です。

また、前述のとおり、選択したリビジョンを別の作業コピーにマージできます。

選択したすべてのリビジョンが、同じ作者のものであれば、すべてのリビジョンの作者を一気に編集できます。

図4.22 ログダイアログ下部の一覧でコンテキストメニューを表示したところ

ログダイアログ下部の一覧でコンテキストメニューを表示したところ


ログダイアログの下の欄にも、

変更を表示

選択されたファイルの選択されたリビジョンにおける変更を表示する。

変更の注釈履歴

選択したファイルの、選択したリビジョンと直前のリビジョンの注釈をとり、視覚差分ツールで比較できます。詳細は、 「注釈履歴の差分」 をご覧ください。

Unified形式で変更を表示

ファイルの変更点をUnified差分ファイルで表示します。このコンテキストメニューは、ファイルに 変更 がある時のみ有効です。

開く/プログラムを指定して開く...

選択したファイルを、ファイル形式に応じた既定のビューアーか選択したプログラムで開きます。

注釈履歴...

注釈履歴ダイアログを開き、選択したリビジョンの担当情報を参照できます。

このリビジョンにおける変更を取り消す

選択したファイルのこのリビジョンでの変更を取り消します。

プロパティを表示

選択した項目の Subversion のプロパティを表示します。

ログを表示

単体のファイルを選択しているとき、ファイルのリビジョンログを表示します。

マージのログを取得する

単体のファイルを選択しているとき、ファイルのマージされた変更を含めリビジョンログを表示します。詳細は 「マージ追跡機能」 をご確認ください。

リビジョンを保存...

選択したリビジョンをファイルに保存し、そのファイルの古いバージョンを入手します。

エクスポート...

このリビジョンの選択された項目を、ファイルの階層を保持したままエクスポートします。

のためのコンテキストメニューがあります。ログダイアログの下の欄で複数のファイルが選択されていた場合、コンテキストメニューは次のように変化します。

図4.23 ログダイアログ下部の一覧で複数ファイル選択時にコンテキストメニューを表示したところ

ログダイアログ下部の一覧で複数ファイル選択時にコンテキストメニューを表示したところ


リビジョンを保存...

選択したリビジョンをファイルに保存し、そのファイルの古いバージョンを入手します。

複数の更新を表示...

選択されたファイルの選択されたリビジョンで行われた変更を表示します。なお、変更の表示機能が複数回呼び出されるので、選択されている差分ツールによっては複数が起動したり、タブに表示されたりします。16件以上のファイルが選択されていた場合は、操作を行うかどうかの確認が表示されます。

複数のローカルファイルを開く...

これは選択されたファイルに対応するローカルの作業コピーを、拡張子に登録されたアプリケーションを使用して開きます。[作業コピーのファイルをWindowsのエクスプローラー上でダブルクリックした場合と同じです。]ファイルの拡張子のアプリケーションへの関連付け方法や、アプリケーションの能力によっては、速度が遅くなることがあります。最悪の場合、選択されたそれぞれのファイルに対してアプリケーションの新しいインスタンスが起動される可能性があります。

Ctrlを押しながらこのコマンドを実行すると、作業コピーのファイルは常にVisual Studioで開かれます。このように動作するのは、Visual StudioがTortoiseProc.exeと同じプロセス統合レベル(管理者として実行されているかどうか)の同じユーザーコンテキストで動作している場合のみです。これはソリューションが重要ではないが変更されたファイルを読み込んでいる場合に便利かもしれません。拡張子.cpp、.h、.cs、.rc、.resx、.xaml、.js、.html、.htm、.asp、.aspx、.php、.css、.xmlのファイルがディスク上にある場合のみ開かれます。一度に最大100件のファイルをVisual Studioで開くことができ、開いているVisual Studioに常に新しいタブとして読み込まれます。Visual Studioでコードの変更を見るメリットは、内蔵のコードナビゲーション、参照の検索、スタティックコードの分析、その他のVisual Studioに内蔵された各種ツールを利用できることです。

エクスポート...

選択されたリビジョンの選択されたファイルやフォルダーをエクスポートします。URLとリビジョンを確認するダイアログが表示されますので、エクスポートする場所を選択してください。

ヒント

「変更」と「差分」という用語が使い分けられていることにお気づきと思います。では差分とはなんでしょうか?

Subversion では、リビジョン番号を2つの異なる意味で使用しています。一般的にリビジョンといえば、その時点でのリポジトリの状態を表しますが、一方ではリビジョンを作成した際の一連の変更を表す場合に使用することもあります。例えば、r1234での変更といえば、r1234の変更のコミットで実装された機能 X のことを表します。どちらの意味で使用されているかを明確にするために、2つの用語を使い分けます。

リビジョン N とリビジョン M を選択すると、その2つのリビジョンの 差分 をコンテキストメニューで表示できるようになります。 Subversion のコマンドでは、これは diff -r M:N に相当します。

リビジョン N を選択した場合、そのリビジョンで行った 変更 をコンテキストメニューで表示できるようになります。 Subversion のコマンドでは、これは diff -r N-1:Ndiff -c N に相当します。

下のリストには、選択したリビジョンで変更されたすべてのファイルが表示されます。そのため、コンテキストメニューには常に 変更を表示 となるのです。

ログメッセージの追加取得

ログダイアログは以下のような場合、変更履歴を最後まで表示しないことがあります。

  • 大きなリポジトリでは何百何千もの変更があり、すべて取得するには時間がかかるため。しかし通常参照する変更は最近のものだけでしょう。デフォルトでは取得するログメッセージは100件に制限されていますが、 TortoiseSVN設定 「TortoiseSVN ダイアログ設定1」)で変更できます。

  • コピー/名前の変更が発生したら停止 がチェックされていると、ログの表示は選択されたファイルやフォルダーが他の場所からコピーされてきた時点で停止します。これはブランチ(やタグ)を参照するときに、ブランチの作成時点で停止するので、ブランチ内部の変更をすばやく表示できるので便利です。

    通常、このオプションをチェックしないままにしておきたいのではないでしょうか。 TortoiseSVN はチェックボックスの状態を記憶していますので、その設定が尊重されます。

    マージダイアログからログダイアログを表示すると、このチェックボックスは、デフォルトで常にチェックされます。これは通常のマージ作業ではブランチ内部の変更を調べるものであり、ブランチの作成時点を超えて遡るようなことはないからです。

    Subversion は現在、名前の変更をコピー・削除で行います。そのため、このオプションにチェックがついていると、ファイルやフォルダーの名前を変更した時点でログの表示が停止することに注意してください。

ログメッセージをもっと見たい場合は、次の100件 をクリックして次の100件のログメッセージを取得してください。必要なだけ繰り返せます。

このボタンの隣に多機能ボタンがあります。前回使用したオプションが記憶されていますが、三角形をクリックすると、他のオプションを指定できます。

表示する範囲を指定... を使用すると、表示するリビジョンの範囲を指定することができます。ダイアログが表示されるので、開始リビジョンと終了リビジョンを指定してください。

すべて表示 を使用すると、 HEAD からリビジョン 1 までさかのぼって すべての ログメッセージを表示することができます。

ログダイアログを開いている間に他のコミットが実行された場合など、最新のリビジョンに更新したい場合は、 F5 キーを押してください。

ログキャッシュを読み込みなおすには、 Ctrl+F5 キーを押してください。

現在の作業コピーのリビジョン

ログダイアログは、現在の作業コピーのリビジョンではなく、 HEAD リビジョンからログを表示するため、まだ作業コピーに取得されていない部分のログメッセージが表示されることがよくあります。これを明確にするために、作業コピーのリビジョンに一致するコミットメッセージは太字で表示されます。

フォルダーのログが表示される際、太字で表示されるリビジョンは、フォルダー内のファイルの最新のリビジョンになります。これには作業コピーのクロールが必要です。クロールは別スレッドで実行するため、ログ表示に遅延は起こりませんが、フォルダーによってはすぐに太字で表示されないことがあります。

マージ追跡機能

Subversion 1.5 以降では、プロパティでマージ情報を保持しています。これにより、マージでの変更点の詳細な履歴を得られます。例えば、ブランチで新機能を開発し、それをトランクにマージした場合、たとえブランチでの開発で1000回コミットしたとしても、トランクではマージした1回分のログしか存在しなくなります。

図4.24 マージ追跡リビジョンを表示したログダイアログ

マージ追跡リビジョンを表示したログダイアログ

マージを含んだコミットのリビジョンの詳細を見る場合、 マージされたリビジョンを含める チェックボックスを使用してください。これによりログメッセージを再取得しますが、マージされたリビジョンに由来するのログメッセージが挿入されます。マージされたリビジョンは、別ツリーで変更されているので、灰色で表示されます。

もちろん、マージは決して単純ではありません。ブランチでの機能開発中、メインラインコードと同期を取り続けるために、トランクからたびたび行わなければならないでしょう。そのため、ブランチのマージ履歴には、別レイヤのマージ履歴が含まれていることでしょう。ログダイアログでは、異なるレイヤをインデントレベルで表します。

ログメッセージや作者の変更

リビジョンプロパティは、項目の Subversion プロパティとは異なるものです。リビジョンプロパティは、ログメッセージやコミット日時、コミットした人(作者)といった、リポジトリの特定のリビジョン番号に関連する説明的な項目です。

時には、一度入力したログメッセージを変更したいこともあるでしょう。綴り間違いがあったり、またメッセージを改善したり、その他の理由で変更したくなるかもしれません。また、コミットした作者を変更したくなるかもしれません。認証を設定し忘れてしまったとか……

Subversion では、必要に応じてリビジョンプロパティをいつでも変更できます。しかし、その変更を元に戻せない(この変更はバージョン管理外になります)ので、デフォルトではこの機能は無効になっています。有効にするには、 pre-revprop-change フックを設定する必要があります。この手順の詳細については、 Subversion Book の Hook Scripts をご覧ください。 Windows マシンでのフックの実装については、 「サーバー側フックスクリプト」 をご覧ください。

いったん必要なフックをサーバーに設定してしまえば、任意のリビジョンに対して、作者やログメッセージ(またはその他のリビジョンプロパティ)を変更できます。ログダイアログの上部のリストのコンテキストメニューを使用してください。中央の欄のコンテキストメニューを使用して、ログメッセージを編集することもできます。

警告

Subversion のリビジョンプロパティはバージョン管理されないため、リビジョンプロパティ(例えば svn:log コミットメッセージプロパティ)を変更すると、直前の値を 完全に 上書きしてしまいます。

重要

TortoiseSVN はすべてのログ情報のキャッシュを保持しているため、変更を行った作者やログメッセージはローカル環境でのみ表示されます。ログキャッシュが更新されるまでの間、他のユーザーには、キャッシュされた(古い)作者やログメッセージが表示されます。「表示の更新」を参照してください

ログメッセージの絞り込み

興味あるログメッセージを限定して表示させたい場合は、何百もあるリストをスクロールするよりも、ログダイアログの上端にある絞り込みコントロールを使用したほうが便利です。日付の範囲を指定すると、その範囲のメッセージだけに絞り込むことができます。検索ボックスに文字列を入力すると、その文字列が含まれるメッセージだけに絞って表示できます。

検索アイコンクリックすると、検索対象となる情報の種類や、 正規表現 を使用するかどうかを選択できます。普段は単純な文字列検索で充分でしょうが、より複雑な検索条件を指定したい場合は、正規表現を使用することができます。検索ボックスの上にマウスを置くと、正規表現の記号や特殊文字の使い方がツールチップで表示されます。絞り込み文字列がログ項目と一致するかどうかがチェックされ、絞り込み文字列と 一致 した項目のみが表示されます。

単純な文字列での検索の仕方は、検索エンジンと似ています。複数の文字列を空白で区切って入力すると、すべての文字列を含む項目が検索されます。文字列の前に - を付けると、その文字列が含まれないものが検索されます(語句の否定検索)。そして、最初に ! を付けると、検索文字列全体が否定になります。前に + を付けた文字列は、以前に - を付けて除外した文字列であっても、含まれるものが検索されます。なお、含まれる・除外される指示の順番が重要であることに気を付けてください。空白を含む文字列を検索する場合は、文字列を引用符で囲んでください。引用符の文字を含む文字列を検索する場合は、引用符を2つ並べてエスケープしてください。なお、バックスラッシュ文字はエスケープ文字 ではなく 、単純な文字列検索では特別な意味を持たないことに注意してください。次のサンプルを見たほうが簡単でしょう。

Alice Bob -Eve

は、 Alice と Bob を含み、 Eve を含ま内文字列を検索します。

Alice -Bob +Eve

は、 Alice を含んでかつ Bob を含まないか、 Eve を含む文字列を検索します。

-Case +SpecialCase

は、 Case という文字列を含まないが、 SpecialCase という文字列は含む文字列を検索します。

!Alice Bob

は、 Alice も Bob も含まない文字列を検索します。

!-Alice -Bob

は、ド・モルガンの法則を思い出してください。 NOT(NOT Alice AND NOT Bob) なので、 (Alice OR Bob) となります。

"Alice and Bob"

は、 Alice and Bob という文字列を検索します。

""

は、テキストのどこかに二重引用符が含まれている文字列を検索します。

"Alice says ""hi"" to Bob"

は、 Alice says "hi" to Bob という文字列を検索します。

正規表現についての説明はこのマニュアルの範囲外です。 http://ja.wikipedia.org/wiki/正規表現 にある説明や、 http://www.regular-expressions.info/ にあるオンラインのドキュメントやチュートリアルをご覧ください。

絞り込みは、すでに取得したメッセージのみが対象になることに注意してください。リポジトリからメッセージをダウンロードすることはありません。

また、 影響を受けるパスのみ表示 を使用すると、下の欄のパス名を絞り込みすることもできます。影響を受けるパスとは、ログを表示するために使われたパスを含むパスです。フォルダーのログを取得する場合は、そのフォルダー以下すべてが対象になります。ファイルの場合は、そのファイルのみが対象になります。通常、パスのリストには影響を受けるパス以外にも、同時にコミットされたパスが灰色で表示されます。ボックスをチェックすると、それらのパスは非表示になります。

運用上、ログメッセージを特定の書式に統一したい場合があります。変更点の説明文が、上部のリストに表示される冒頭の部分に表示されない場合などです。 tsvn:logsummary プロパティを使用すると、上部のリストに表示されているログメッセージの一部を抽出できます。このプロパティの使い方は、 「TortoiseSVN のプロジェクトプロパティ」 をご覧ください。

リポジトリブラウザーからログのフォーマット変更はできません

ログのフォーマット変更は、 Subversion のプロパティとして保持されているため、チェックアウトした作業コピーを使用するときのみ表示されます。リモートからプロパティを取得するのには時間がかかるため、リポジトリブラウザーから起動した場合はこの機能が表示されません。

統計情報

ログダイアログの 統計 ボタンは、リビジョンについての興味深い情報を表示します。作業者が何人いるのか、コミットは何回行われているのか、週ごとの進行状況、等といった情報です。これで、誰ががんばり屋で誰がなまけ者か一目で分かります。;-)

統計ページ

このページでは、期間やリビジョン数、最小・最大・平均などの集計値のような参考になる数値を提供します。

「作者別コミット数」ページ

図4.25 「作者別コミット数」ヒストグラム

「作者別コミット数」ヒストグラム


このグラフは、プロジェクト内のどのユーザーがアクティブかを、ヒストグラム、積み重ね棒グラフ、円グラフで表します。

図4.26 「作者別コミット数」円グラフ

「作者別コミット数」円グラフ


少数の主要な作者と、多数の細かい協力者がいる環境では、細分化されてグラフが読みにくくなります。グラフの下にあるスライダーを使用して閾値(全コミットにおけるパーセンテージ)を設定すると、活動状況が閾値以下の人が その他 カテゴリにグループ化されます。

「時期別コミット数」ページ

図4.27 「時期別コミット数」グラフ

「時期別コミット数」グラフ


このページでは、プロジェクトの活動状況を、一定期間のコミット回数 および 作者別で表示します。これによりプロジェクトがいつ活動していたか、そのとき誰が作業したかといった判断材料になるでしょう。

多数の作者がいる場合、グラフにたくさんの線が表示されます。この画面ではさらに2つの表示方法が使用できます。 折れ線グラフ は、作者の活動状況ごとに表示し、 積み重ね面グラフ は、作者の活動状況を積み重ねて表示します。後者では線が交差しなくなるためため、グラフは読みやすくなりますが、個別の作者の状況は読みにくくなります。

デフォルトでは、分析する際、ユーザー名の大文字と小文字が区別されます。そのため、 PeterEganPeteRegan というユーザーは別人として扱われます。しかし多くの場合、ユーザー名の大文字と小文字を区別しておらず、時には混同して入力されます。つまり、 DavidMorgandavidmorgan を同一として扱うということです。 作者名の大文字/小文字を区別しない チェックボックスを使用して、どのように扱うかを決めてください。

この統計はログダイアログと同じ期間が対象になることに注意してください。1リビジョンしか表示していないときには、統計には大した情報は現れません。

オフラインモード

図4.28 オフライン移行ダイアログ

オフライン移行ダイアログ


ログキャッシュを有効にしている場合、サーバーに接続できなくても、ログダイアログやリビジョングラフはオフラインモードで使用できます。これはキャッシュからのデータを使用し、作業を継続できますが、おそらく最新でも完全でもありません。

ここでは以下の3つの選択肢があります。

オフラインにする

現在の操作を完全にオフラインモードにしますが、ログデータが次回要求されたときに、リポジトリへの接続を再試行します。

常にオフライン

リポジトリのチェックを明確に要求されるまで、オフラインモードのままにします。 「表示の更新」をご覧ください。

キャンセル

おそらく陳腐化したであろうデータで操作を継続したくない場合は、単にキャンセルとしてください。

デフォルトに設定する チェックボックスは、このダイアログを再度表示しないようにし、選択を常に使用します。ここで設定したとしても、 TortoiseSVN設定 で、デフォルト値の変更(削除)が行えます。

表示の更新

新しいログメッセージを取得するためにサーバーを再チェックする場合、単純に F5 で表示を更新できます。ログキャッシュを使用している場合(デフォルトで有効)、新しいログメッセージがあるかリポジトリをチェックし、新しいもののみを取得します。ログキャッシュがオフラインモードになっている場合、オンラインモードに切り替えを試みます。

ログキャッシュを使用しており、メッセージの内容や作者を更新したい場合、Shift+F5Ctrl+F5 で表示しているメッセージをサーバーから再取得し、ログキャッシュを更新できます。これは現在表示されているメッセージにしか効果はなく、そのリポジトリのキャッシュ全体が無効になるわけではないことに注意してください。