Manchmal möchten Sie wissen, wann Zweige oder Markierungen von trunk abgespalten wurden. Der ideale Weg, um dies zu untersuchen, ist ein Graph oder eine Baumstruktur. Dafür gibt es den →
Dieser Befehl analysiert die Revisionsgeschichte und versucht eine Baumstruktur mit den Zeitpunkten darzustellen, in denen Kopien oder Zweige/Markierungen erstellt bzw. gelöscht wurden.
Um den Revisionsgraphen zu erzeugen, muss TortoiseSVN alle Logmeldungen von der Basis des Projektarchivs holen. Überflüssig zu sagen, dass diese Aktion in Abhängigkeit von Netzwerk- und Servergeschwindigkeit bereits bei wenigen tausend Revisionen mehrere Minuten in Anspruch nehmen kann. Wenn Sie sich den Revisionsgraphen des Apache Projektes mit derzeit über 500.000 Revisionen anzeigen lassen, sollten Sie sich auf eine längere Wartezeit einstellen.
Die gute Nachricht ist, dass Sie, wenn Sie den Log-Cache benutzen, diese Wartezeit nur einmal ertragen müssen. Danach werden die Logdaten lokal vorgehalten. Der Log-Cache wird in den TortoiseSVN Einstellungen aktiviert.
Der Revisionsgraph zeigt verschiedene Knotentypen an:
Elemente, die hinzugefügt oder durch Kopieren erstellt wurden, werden als abgerundetes Rechteck dargestellt.
Gelöschte Elemente wie z.B. ein Zweig der nicht länger benötigt wird, werden als Achteck dargestellt.
Falls ein Zweig (oder eine Markierung) nach seiner Erstellung modifiziert wurde, wird dies durch eine Ellipse angezeigt. Dies geschieht, wenn die Option HEAD Revisionen zeigen aktiv ist.
Alle anderen Elemente werden durch ein einfaches Rechteck dargestellt.
Beachten Sie, dass in der Standardansicht der Graph nur die Punkte zeigt, an denen Elemente hinzugefügt oder gelöscht wurden. Alle Revisionen eines Projektes anzuzeigen würde in nicht-trivialen Fällen einen riesigen Graphen erzeugen. Wenn Sie wirklich alle Revisionen sehen wollen, können Sie dies über einen Schalter in der Werkzeugleiste oder im Menü Ansicht aktivieren.
Da ein Revisionsgraph häufig sehr komplex ist, stehen einige Funktionen zur Verfügung, mit denen Sie die Ansicht an Ihre Wünsche anpassen können. Diese stehen im Menü Ansicht sowie in der Menüleiste zur Verfügung.
Die Vorgabe (Gruppieren aus) verwendet eine Zeile pro Revision und alle Zeilen werden strikt nach der Revisionsnummer sortiert. Dadurch belegen langlebige Zweige selbst mit nur wenigen Änderungen eine ganze Spalte und der Graph wird sehr breit.
Dieser Modus gruppiert Änderungen in Zweigen, so dass es keine globale Revisionsordnung gibt. Aufeinanderfolgende Revisionen eines Zweiges werden (häufig) in aufeinanderfolgenden Zeilen angezeigt. Unterzweige hingegen werden so angeordnet, dass spätere Zweige in derselben Spalte über früheren liegen, um den Graphen schmal zu halten. Als Ergebnis kann eine Zeile Änderungen aus verschiedenen Revisionen enthalten.
Normalerweise zeigt der Graph die ältesten Revisionen unten und der Revisionsbaum wächst nach oben. Mit dieser Option lassen Sie den Graphen von oben nach unten wachsen.
Diese Option stellt sicher, dass immer die neuesten Revisionen aller Zweige im Graphen angezeigt werden.
Wenn eine Verzweigung/Markierung angelegt wird, ist das Standardverhalten, den Zweig so anzuzeigen, als sei er vom letzten geänderten Knoten abgeleitet. Genau genommen ist das inkorrekt, da Zweige häufig von der HEAD Revision und nicht einer bestimmten Revision erstellt werden. Hiermit ist es möglich, die korrektere (aber weniger nützliche) Revision anzuzeigen, aus der die Verzweigung wirklich angelegt wurde.
Wenn Sie den Graphen eines Entwicklungsprojektes betrachten sind Markierungen unter Umständen uninteressant für Sie. Diese Option verbirgt die Verzweigungen und zeigt sie stattdessen im Hinweistext des Knotens an von dem Sie erstellt wurden. Ein Symbol am rechten Rand kennzeichnet die entsprechenden Quellknoten.
Wenn der Graph von vielen Linien durchschnitten wird, können Sie die Ansicht mit dieser Funktion aufräumen. Dadurch werden die Spalten unter Umständen an unlogischen Stellen angezeigt und die Optimierung kann etwas Zeit in Anspruch nehmen, allerdings werden Überschneidungen vermieden.
Manchmal zeigt der Revisionsgraph mehr Details an als Sie eigentlich sehen wollen. Diese Funktion öffnet einen Dialog, mit dem Sie den angezeigten Revisionsbereich einschränken oder bestimmte Pfade über ihre Namen ausschließen können.
Um die Navigation durch einen großen Graphen zu vereinfachen, steht das Übersichtsfenster zur Verfügung. Darin wird der vollständige Graph sowie der aktuelle Ausschnitt hervorgehoben dargestellt. Sie können den aktuellen Ausschnitt verschieben, um den angezeigten Bereich zu verändern.
Das Datum, der Autor und die Logmeldung der Revision werden in einem Hinweistext angezeigt, sobald die Maus über ein Element bewegt wird.
Wenn Sie mit Strg-Linksklick zwei Revisionen markieren, können Sie sich über das Kontextmenü die Unterschiede zwischen diesen Revisionen anzeigen lassen. Sie können wählen, ob Sie die Unterschiede am Anfang der Zweige oder die Unterschiede an den Enden, sprich den HEAD Revisionen vergleichen wollen.
Sie können sich die Unterschiede im Standard-Diff Format anzeigen lassen, das alle Unterschiede in einer einzelnen Datei mit minimalem Kontext zeigt. Wenn Sie → wählen, wird Ihnen eine Liste der geänderten Dateien angezeigt. Mit einem Doppelklick auf einen Dateinamen werden beide Revisionen geholt und in Ihrem Diff Betrachter angezeigt.
Mit einem Rechtsklick auf eine Revision, können Sie sich per → die Historie anzeigen lassen.
Sie können auch die Änderungen der gewählten Revisionen in einer anderen Arbeitskopie zusammenführe. Ein Ordnerauswahldialog ermöglicht es Ihnen, eine andere Arbeitskopie als Ziel zu wählen, aber danach gibt es weder einen Bestätigungsdialog noch einen Möglichkeit für einen Trockenlauf. Es ist eine gute Idee, Änderungen in einer unmodifizierten Arbeitskopie zusammenzuführen, so dass Sie diese stets rückgängig machen können, wenn etwas nicht klappt! Dies ist eine nützliche Funktion, wenn Sie bestimmte Revisionen von einem Zweig in einen anderen übertragen wollen.
Da Subversion nicht alle Informationen bereitstellt, ist ein gewisser Grad der Interpretation notwendig, was manchmal zu seltsamen Ergebnissen führen kann. Trotzdem sollte der Revisionsgraph für trunk/ normalerweise brauchbare Ergebnisse liefern.
Wenn Sie den Server auf neue Informationen überprüfen wollen, können Sie die Sicht einfach per F5 aktualisieren. Falls Sie den Log-Puffer verwenden (standardmäßig aktiv), wird das Projektarchiv auf neue Übertragungen abgefragt und nur diese werden geholt. Falls der Log-Puffer offline war, wird gleichzeitig versucht, ihn wieder online zu schalten.
Falls Sie den Log-Puffer verwenden und denken, dass sich der Inhalt oder der Autor einer Logmeldung geändert haben, sollten Sie den Log-Dialog aufrufen, um darüber die gewünschten Meldungen zu aktualisieren. Da der Revisionsgraph von der Wurzel des Projektarchivs ausgeht, müssten wir den gesamten Log-Puffer ungültig machen und erneut aufbauen, was sehr viel Zeit in Anspruch nehmen kann.