ブランチやタグがトランクからどこで作成されたかを知りたい場合があり、この種の情報を表示する理想的な方法は、グラフまたはツリー構造として表示することです。そのような場合に、 → を使用する必要があります。
このコマンドは、リビジョン履歴を分析し、コピーが作成された時点や、ブランチ/タグが削除された時点を示すツリーを作成しようとします。
グラフを生成するためには、TortoiseSVN はリポジトリルートからすべてのログメッセージを取得する必要があります。言うまでもなく、サーバーの速度、ネットワーク帯域幅などによっては、数千リビジョンのリポジトリであっても数分かかることがあります。現在 50 万件以上のリビジョンを持つ Apache プロジェクトのようなものでこれを試すと、しばらく時間がかかる可能性があります。
良いニュースは、ログキャッシュを使用している場合、この遅延を一度だけ経験すればよいということです。その後、ログデータはローカルに保持されます。ログキャッシュは、TortoiseSVN の設定で有効になっています。
各リビジョングラフノードは、表示しているツリー内で何らかの変更があったリポジトリ内のリビジョンを表します。ノードのタイプは、形状と色で区別できます。形状は固定されていますが、色は
→ を使用して設定できます。追加されたアイテム、または別のファイル/フォルダをコピーして作成されたアイテムは、角の丸い長方形を使用して表示されます。デフォルトの色は緑です。タグとトランクは特別なケースとして扱われ、
→ に応じて異なる色合いが使用されます。削除されたアイテム (例: 不要になったブランチ) は、八角形 (角が切り取られた長方形) を使用して表示されます。デフォルトの色は赤です。
名前が変更されたアイテムも八角形を使用して表示されますが、デフォルトの色は青です。
グラフは通常、ブランチポイントを表示するように制限されていますが、各ブランチのそれぞれの HEAD リビジョンを確認できると便利なことがよくあります。HEAD リビジョンを表示を選択すると、各 HEAD リビジョンノードは楕円として表示されます。ここで HEAD は、リポジトリの HEAD リビジョンではなく、そのパスでコミットされた最後のリビジョンを指すことに注意してください。
ワーキングコピーからリビジョングラフを呼び出した場合、WC リビジョンを表示を使用してグラフに BASE リビジョンを表示するように選択できます。これにより、BASE ノードが太字の輪郭でマークされます。
ワーキングコピーからリビジョングラフを呼び出した場合、WC の変更を表示を使用して、変更されたワーキングコピーを表す追加のノードを表示するように選択できます。これは、デフォルトで赤色の太字の輪郭を持つ楕円形のノードです。
他のすべてのアイテムは、プレーンな長方形を使用して表示されます。
デフォルトでは、グラフにはアイテムが追加、コピー、または削除された時点のみが表示されることに注意してください。プロジェクトのすべてのリビジョンを表示すると、自明でないケースでは非常に大きなグラフが生成されます。すべての変更が行われたリビジョンを本当に確認したい場合は、表示メニューとツールバーにオプションがあります。
デフォルトのビュー (グルーピングオフ) では、ノードの垂直位置が厳密なリビジョン順になるように配置されるため、何が行われたかの順序を視覚的に把握できます。2 つのノードが同じ列にある場合、順序は非常に明白です。2 つのノードが隣接する列にある場合、ノードが重ならないようにする必要がないため、オフセットははるかに小さくなり、結果として順序は少しわかりにくくなります。このような最適化は、複雑なグラフを適切なサイズに保つために必要です。この順序付けは、古い側のノードのエッジを基準として使用することに注意してください。つまり、グラフが最も古いノードを下に表示している場合は、ノードの下端のエッジです。基準エッジが重要なのは、ノードの形状がすべて同じ高さではないためです。
リビジョングラフは非常に複雑になることが多いため、必要な方法でビューを調整するために使用できる多くの機能があります。これらは、表示メニューとツールバーから利用できます。
デフォルトの動作 (グルーピングオフ) では、すべての行が厳密にリビジョンでソートされています。その結果、コミットがまばらな長期間存続するブランチは、わずかな変更に対して列全体を占有し、グラフが非常に広くなります。
このモードでは、変更がブランチごとにグループ化されるため、グローバルなリビジョン順序はありません。ブランチ上の連続するリビジョンは、(多くの場合)連続する行に表示されます。ただし、サブブランチは、グラフをスリムに保つために、後続のブランチが以前のブランチの上に同じ列に表示されるように配置されます。その結果、特定の行に異なるリビジョンの変更が含まれる場合があります。
通常、グラフは最古のリビジョンを下に表示し、ツリーは上に成長します。代わりに上から下に成長させるには、このオプションを使用します。
グラフがいくつかの小さなツリーに分割されている場合、ブランチをグループ化オプションを使用しているかどうかによって、ツリーは自然なリビジョン順序で表示されるか、ウィンドウの下部に揃えて表示される場合があります。代わりにすべてのツリーを上から下に成長させるには、このオプションを使用します。
このオプションは通常有効になっており、多くの混乱した交差線を持つグラフを表示することを回避します。ただし、これにより、レイアウト列が対角線ではなく列など、論理的でない場所に表示されたり、グラフの描画に必要な領域が大きくなる場合があります。これが問題になる場合は、表示メニューからオプションを無効にすることができます。
長いパス名は多くのスペースを占有し、ノードボックスが非常に大きくなる可能性があります。このオプションを使用すると、パスの変更された部分のみを表示し、共通部分をドットに置き換えることができます。たとえば、/trunk/doc/html
からブランチ /branches/1.2.x/doc/html
を作成する場合、最後の 2 つのレベルである doc
と html
が変更されていないため、ブランチは /branches/1.2.x/..
のコンパクトな形式で表示できます。
これは期待どおりに機能し、(グラフ化しているツリー内の)何かが変更されたすべてのリビジョンを表示します。長い履歴の場合、これは非常に大きなグラフを生成する可能性があります。
これにより、すべてのブランチの最新リビジョンが常にグラフに表示されるようになります。
ブランチ/タグが作成される場合、デフォルトの動作では、変更が行われた最後のノードからブランチが取得されたものとして表示されます。厳密に言えば、ブランチは特定のrevisionからではなく、多くの場合現在の HEAD から作成されるため、これは不正確です。そのため、コピーの作成に使用された、より正確 (ただし、あまり役に立たない) リビジョンを表示することが可能です。このリビジョンは、ソースブランチの HEAD リビジョンよりも新しい可能性があることに注意してください。
プロジェクトに多数のタグがある場合、すべてのタグをグラフ上の個別のノードとして表示すると、多くのスペースが占有され、より興味深い開発ブランチ構造が不明瞭になります。同時に、リビジョンを比較できるように、タグコンテンツに簡単にアクセスできる必要がある場合があります。このオプションは、タグのノードを非表示にし、代わりにコピー元のノードのツールチップに表示します。ソースノードの右側にあるタグアイコンは、タグが作成されたことを示します。これにより、ビューが大幅に簡素化されます。
タグ自体がコピーのソースとして使用されている場合 (たとえば、タグに基づく新しいブランチ) は、そのタグは折りたたまれずに個別のノードとして表示されることに注意してください。
リポジトリの HEAD リビジョンに存在しなくなったパス (例: 削除されたブランチ) を非表示にします。
タグを折りたたむオプションを選択した場合、タグが取得された削除されたブランチは引き続き表示されます。そうしないと、タグも消えてしまいます。タグ付けされた最後のリビジョンは、個別の削除リビジョンを表示する代わりに、削除されたノードに使用される色で表示されます。
タグを非表示にするオプションを選択すると、これらのブランチはタグを表示するために必要ないため、再び非表示になります。
それぞれのファイルまたはサブフォルダにコミットされた変更がないブランチを非表示にします。これは、ブランチが使用されていなかったことを必ずしも示すものではなく、この部分に変更が加えられなかったことを示しているだけです。
グラフ上で、グラフを取得したアイテムの更新リビジョンに対応するリビジョンをマークします。更新したばかりの場合、これは HEAD になりますが、最後の更新以降に他のユーザーが変更をコミットした場合、WC は数リビジョン下になる可能性があります。ノードは太字の輪郭でマークされます。
WC にローカルな変更が含まれている場合、このオプションは、WC が最後に更新されたノードにリンクされた別の楕円形のノードとして描画します。デフォルトの輪郭の色は赤です。最近の変更をキャプチャするには、F5キーを使用してグラフを更新する必要がある場合があります。
リビジョングラフに表示したくないリビジョンが多すぎる場合があります。このオプションは、表示されるリビジョンの範囲を制限したり、名前で特定のパスを非表示にしたりできるダイアログを開きます。
特定のパスを非表示にして、そのノードに子ノードがある場合、子は別のツリーとして表示されます。すべての子も非表示にする場合は、サブツリー全体を削除チェックボックスを使用します。
グラフに複数のツリーが含まれている場合、ツリーを区別するために、背景に交互の色を使用すると便利な場合があります。
グラフ全体の小さな画像を表示し、現在のビューウィンドウをドラッグ可能な長方形として表示します。これにより、グラフをより簡単にナビゲートできます。非常に大きなグラフの場合、極端なズームファクターのために概要が役に立たなくなる可能性があるため、そのような場合は表示されないことに注意してください。
大きなグラフのナビゲートを容易にするには、概要ウィンドウを使用します。これは、グラフ全体を小さなウィンドウに表示し、現在表示されている部分を強調表示します。強調表示された領域をドラッグして、表示領域を変更できます。
マウスがリビジョンボックスの上にカーソルを合わせると、リビジョン日、作成者、およびコメントがヒントボックスに表示されます。
2 つのリビジョンを選択した場合 (Ctrl-左クリックを使用)、コンテキストメニューを使用して、これらのリビジョン間の差異を表示できます。ブランチ作成ポイントでの差異を表示することを選択できますが、通常はブランチエンドポイント、つまり HEAD リビジョンでの差異を表示する必要があります。
差異を Unified-Diff ファイルとして表示できます。これは、最小限のコンテキストで単一のファイル内のすべての差異を表示します。ダブルクリックすると、ファイルの両方のリビジョンを取得し、視覚的な差異ツールを使用して比較します。
→ を選択すると、変更されたファイルのリストが表示されます。ファイル名をリビジョンを右クリックすると、 → を使用して履歴を表示できます。
選択したリビジョンの変更を別のワーキングコピーにマージすることもできます。フォルダ選択ダイアログを使用すると、マージ先のワーキングコピーを選択できますが、その後、確認ダイアログもテストマージを試す機会もありません。うまくいかない場合に備えて変更を元に戻せるように、変更されていないワーキングコピーにマージすることをお勧めします。これは、あるブランチから別のブランチに選択したリビジョンをマージする場合に便利な機能です。
初めてのユーザーは、リビジョングラフがユーザーのメンタルモデルと一致しないものを表示するという事実に驚くかもしれません。たとえば、1 つのリビジョンがファイルまたはフォルダの複数のコピーまたはブランチを変更する場合、その単一のリビジョンに対して複数のノードが存在することになります。ツールバーの左端のオプションから始めて、グラフがメンタルモデルに近づくまでステップバイステップでカスタマイズすることをお勧めします。
すべてのフィルターオプションは、できるだけ情報を失わないように試みます。これにより、一部のノードの色が変わる場合があります。結果が予想外の場合は、最後のフィルター操作を元に戻し、特定のリビジョンまたはブランチの特殊性を理解してみてください。ほとんどの場合、フィルター操作の最初に予想された結果は、不正確または誤解を招く可能性があります。
サーバーを再度チェックして新しい情報を確認する場合は、F5キーを使用してビューを更新するだけです。ログキャッシュ (デフォルトで有効) を使用している場合、これにより、リポジトリで新しいコミットがチェックされ、新しいコミットのみが取得されます。ログキャッシュがオフラインモードの場合、これもオンラインに戻ろうとします。
ログキャッシュを使用しており、メッセージの内容または作成者が変更された可能性があると思われる場合は、ログダイアログを使用して、必要なメッセージを更新する必要があります。リビジョングラフはリポジトリルートから動作するため、ログキャッシュ全体を無効にする必要があり、再入力には非常に長い時間がかかる可能性があります。
大きなツリーはナビゲートが難しくなる場合があり、ツリーの一部を非表示にしたり、より小さなツリーのフォレストに分割したりする必要がある場合があります。ノードリンクがノードに出入りするポイントにマウスを合わせると、これを行うための 1 つ以上のポップアップボタンが表示されます。
マイナスボタンをクリックして、アタッチされたサブツリーを折りたたみます。
プラスボタンをクリックして、折りたたまれたツリーを展開します。ツリーが折りたたまれると、非表示のサブツリーを示すためにこのボタンが表示されたままになります。
クロスボタンをクリックして、アタッチされたサブツリーを分割し、グラフ上の別のツリーとして表示します。
丸ボタンをクリックして、分割されたツリーを再アタッチします。ツリーが分割されると、別のサブツリーがあることを示すためにこのボタンが表示されたままになります。
グラフの背景をクリックして、メインコンテキストメニューを表示します。このメニューには、すべて展開とすべて結合のオプションがあります。ブランチが折りたたまれたり分割されたりしていない場合、コンテキストメニューは表示されません。