Eine der häufigsten Anforderungen in der Projektarbeit ist herauszufinden, was sich geändert hat. Entweder möchten Sie die Unterschiede zwischen zwei Revisionen derselben Datei sehen oder aber die Unterschiede zwischen zwei verschiedenen Dateien. TortoiseSVN bietet Ihnen mit TortoiseMerge ein Programm an, das die meisten Anforderungen erfüllt, erlaubt es Ihnen aber auch, ein eigenes Programm zum Anzeigen und Bearbeiten von Differenzen zu verwenden. Um Unterschiede von Bilddateien zu erkennen, bietet TortoiseSVN ebenfalls ein Programm namens TortoiseIDiff an.
Wenn Sie sehen wollen, welche Änderungen Sie selbst in Ihrer Arbeitskopie haben, verwenden Sie das Kontextmenü des Explorers und wählen Sie → .
Wenn Sie sehen wollen, was sich im Stamm (wenn Sie auf einem Zweig arbeiten) oder in einem bestimmten Zweig (wenn Sie am Stamm arbeiten) geändert hat, können Sie das Explorer-Kontextmenü verwenden. Halten Sie die Umschalt-Taste gedrückt, während Sie einen Rechtsklick auf die Datei machen. Dann wählen Sie → . Im folgenden Dialog geben Sie die URL im Projektarchiv an, mit der Sie die lokale Datei vergleichen wollen.
Sie können auch den Projektarchivbetrachter zum Vergleich zweier Bäume verwenden, indem Sie zwei Marken oder auch einen Zweig und den Stamm auswählen. Über das dortige Kontextmenü können Sie mit der Funktion „Ordner vergleichen“.
. Lesen Sie weiter inWenn Sie die Unterschiede zwischen einer bestimmten Revision und Ihrer Arbeitskopie sehen wollen, lassen Sie sich den Log-Dialog anzeigen, markieren dort die gewünschte Revision und wählen
aus dem Kontextmenü.Wenn Sie den Unterschied zwischen der letzten übertragenen Revision und Ihrer Arbeitskopie unter der Annahme sehen wollen, dass die Arbeitskopie noch nicht verändert wurde, machen Sie einen Rechtsklick auf die Datei. Dann wählen Sie
→ . Dadurch führen Sie einen Vergleich mit der Revision vor dem letzten in Ihrer Arbeitskopie gespeicherten Übertragungszeitpunkt und der Arbeitskopie BASE-Revision durch. Dieser Vergleich reflektiert die Änderungen, durch die Ihre Arbeitskopie aktualisiert wurde. Sie sehen keine Änderungen neueren Datums.Wenn Sie die Unterschiede zwischen zwei bereits übertragenen Revisionen sehen wollen, öffnen Sie den Log-Dialog und markieren Sie die beiden Revisionen mit gedrückter Strg-Taste. Dann wählen Sie aus dem Kontextmenü.
Wenn Sie diese Option für das Log eines Ordners wählen, erscheint ein weiterer Dialog, der die geänderten Dateien anzeigt und Ihnen weitere Vergleichsoptionen anbietet. Lesen Sie mehr dazu in „Ordner vergleichen“.
Wenn Sie die Änderungen in allen Dateien in einer bestimmten Revision auf einen Blick sehen wollen, verwenden Sie das Standard-Diff (GNU Patch). Dieses Format zeigt nur die Unterschiede mit ein paar Zeilen Kontext an. Es ist schwieriger zu lesen als ein visueller Vergleich, aber es zeigt alle Änderungen auf einmal. Markieren Sie dazu im Log-Dialog die gewünschte Revision und wählen Sie
aus dem Kontextmenü.Wenn Sie die Unterschiede zwischen zwei Dateien sehen wollen, können Sie das direkt im Explorer tun, indem Sie die beiden Dateien markieren und aus dem Explorer Kontextmenü
→ wählen.Wenn die zu vergleichenden Dateien sich nicht im selben Ordner befinden, verwenden Sie den Befehl Strg-Taste gedrückt, während Sie → wählen.
→ , um die erste Datei für den Vergleich zu markieren. Dann wechseln Sie zur zweiten Datei und rufen → auf. Um die gemerkte Datei zu löschen, halten Sie dieWenn Sie die Unterschiede zwischen einer Datei in der Arbeitskopie und einer Datei im Subversion-Projektarchiv sehen möchten, können Sie die Umschalt-Taste drücken, während sie einen Rechtsklick auf die Datei machen. Wählen sie dann → . Sie können diese Aktion ebenso für einen Ordner in der Arbeitskopie durchführen. TortoiseMerge wird Ihnen die Unterschiede wie eine Patchdatei anzeigen - eine Liste von Dateien, die Sie einzeln betrachten können.
Wenn Sie nicht nur die Unterschiede, sondern auch Autor, Revision und Datum der Änderung sehen wollen, können Sie Vergleichen und Annotieren über den Log-Dialog miteinander kombinieren. Lesen Sie „Unterschiede annotieren“ für weitere Informationen.
Die mit TortoiseSVN gelieferten Programme unterstützen keinen Vergleich von Verzeichnissen. Wenn Sie über ein externes Programm verfügen, das diese Funktionalität bietet, können Sie es stattdessen benutzen. In „Externe Programme“ stellen wir Ihnen einige Programme vor, die wir mit TortoiseSVN getestet haben.
Wenn Sie ein externes Vergleichsprogramm konfiguriert haben, können Sie die Umschalt-Taste beim Vergleichen drücken, um das alternative Vergleichsprogramm aufzurufen. Lesen Sie in „Einstellungen für externe Programme“ nach, wie weitere Vergleichsprogramme eingerichtet werden.
Manchmal werden Sie während eines Projektes die Zeilenenden von CRLF
auf LF
umstellen oder Sie werden die Einrückung eines Abschnitts ändern. Unglücklicherweise wird dadurch eine große Anzahl Zeilen als verändert markiert, obwohl diese Unterschiede die Bedeutung des Programmcodes nicht beeinflussen. Mit den folgenden Optionen können Sie einstellen, wie diese Unterschiede beim Vergleichen behandelt werden sollen. Sie finden die Einstellungen in den Zusammenführen- und Annotieren-Dialogen sowie in den Einstellungen für TortoiseMerge.
Ignoriere Zeilenende schließt Änderungen aus, die nur aus unterschiedlichen Zeilenumbrüchen bestehen.
Vergleiche Leerzeichen umfasst alle Änderungen bei Leerzeichen und Einrückungen als hinzugefügte bzw. gelöschte Zeilen.
Ignoriere Änderungen in Leerzeichen schließt Änderungen in der Anzahl oder dem Typ von Leerzeichen, z. B. Änderung der Einrückung oder Wechsel von Tab zu Leerzeichen aus. Komplett neue oder vollständig gelöschte Leerzeichen werden weiterhin als Änderung angezeigt.
Ignoriere alle Leerzeichen schließt sämtliche Änderungen aus, die nur aus Leerzeichen bestehen.
Selbstverständlich wird jede Zeile mit geänderten Inhalten stets als Differenz angezeigt.
Wenn Sie zwei Bäume im Projektarchivbetrachter markieren oder wenn Sie zwei Revisionen einer Datei im Log-Dialog wählen, können Sie → aufrufen.
Dieser Dialog zeigt eine Liste aller Dateien, die geändert wurden und erlaubt Ihnen, sie mit Hilfe des Kontextmenüs einzeln zu vergleichen oder zu annotieren.
Sie können einen Änderungsbaum exportieren. Das ist nützlich, wenn Sie jemandem Ihre Projektstruktur schicken wollen, die aber nur die geänderten Dateien enthalten soll. Diese Funktion arbeitet nur auf den markierten Dateien. Das bedeutet, dass Sie die gewünschten Dateien - normalerweise alle - markieren und dann per → in den im folgenden Dialog abgefragten Ort herausschreiben.
Sie können auch die Liste der geänderten Dateien in eine Textdatei herausschreiben, indem Sie → wählen.
Wenn Sie die Liste der Dateien und der Aktionen (verändert, hinzugefügt, gelöscht) exportieren wollen, können Sie dies mit → erreichen.
Die obere Schaltfläche ermöglicht es Ihnen, die Richtung des Vergleichs festzulegen. Sie können sich die Änderungen anzeigen lassen, um von A nach B zu kommen oder umgekehrt.
Die Schaltflächen mit den Revisionsnummern dienen dazu, einen anderen Revisionsbereich auszuwählen. Wenn Sie den Bereich ändern, wird die Liste der Objekte, die sich darin geändert haben, aktualisiert.
Wenn die Liste der Dateien sehr lang ist, kann sie mit Hilfe des Suchfeldes auf die Dateien mit einer bestimmten Zeichenfolge beschränkt werden. Es wird eine einfache Textsuche durchgeführt. Wenn Sie z. B. nur C-Quelltexte angezeigt haben wollen, geben Sie .c
statt *.c
ein.
Es gibt viele Programme einschließlich unseres TortoiseMerge, mit denen Unterschiede zwischen Textdateien angezeigt werden können. Wir wollen aber oft auch sehen, wie sich ein Bild geändert hat. Deshalb haben wir TortoiseIDiff entwickelt.
→ für jedes übliche Bildformat wird TortoiseIDiff starten, um die Unterschiede anzuzeigen. In der Standardansicht werden die Bilder nebeneinander dargestellt. Mit der Symbolleiste oder dem Menü können Sie die Bilder auch übereinander darstellen beziehungsweise überlagern. Der Schieber ermöglicht es Ihnen, die Transparenz der Überlagerung einstellen.
Außerdem können Sie die Ansicht vergrößern oder verkleinern und den aktuellen Bildausschnitt mit der Maus verschieben. Wenn Sie Bilder verknüpfen aktivieren, werden die Bewegungssteuerelemente (Rollbalken, Mausrad) der Bilder miteinander verknüpft.
Die Infobox im Bild zeigt Details wie Größe, Auflösung und Farbtiefe des Bildes an. Wenn sie Ihnen im Weg liegt, kann sie mit
→ ausgeblendet werden. Die Bildinformation wird als Hinweistext angezeigt, wenn Sie mit der Maus über den Bildtitel fahren.Wenn die Bilder überlagert sind, wird die relative Intensität der Bilder (Alpha-Überblendung) durch einen Schieber am linken Rand gesteuert. Sie können direkt auf den Schieber klicken, um einen Wert einzustellen. Sie können den Schieber auf einen bestimmten Wert ziehen oder per Strg+Umschalt-Mausrad einstellen.
Die Schaltfläche oberhalb des Schiebers schaltet zwischen 0 % und 100 % Überblendung um. Wenn Sie die Schaltfläche doppelklicken, wird die Überblendung im Sekundentakt umgeschaltet, bis Sie die Schaltfläche erneut betätigen. Diese Funktion kann ihnen helfen, kleine Änderungen in Bildern zu entdecken.
Manchmal möchten Sie lieber die Unterschiede statt einer Überblendung angezeigt bekommen, z. B., weil Sie das Layout zweier Versionen einer Platine miteinander vergleichen wollen. Wenn Sie die Überblendung deaktivieren, werden stattdessen die Unterschiede durch ein XOR der Bildpunkte hervorgehoben. Änderungen werden dadurch farbig, unveränderte Bereiche weiß dargestellt.
Wenn Sie Nicht-Text-Dokumente vergleichen wollen, müssen Sie normalerweise die Software verwenden, mit der das Dokument erstellt wurde, da diese das Dateiformat kennt. Für die häufig verwendeten Programme Microsoft Office und Open Office existiert in der Tat einige Unterstützung für das Anzeigen von Unterschieden. TortoiseSVN enthält Skripte, die diese mit den richtigen Einstellungen aufrufen, wenn Sie Dateien mit bekannten Erweiterungen vergleichen. Sie können sehen, welche Erweiterungen unterstützt werden und Ihre eigenen hinzufügen, indem Sie Externe Programme aufrufen.
→ klicken und die Seite im AbschnittWenn Sie die Click-to-Run-Version von Office 2010 installiert haben und versuchen, Dokumente zu vergleichen, erhalten Sie möglicherweise eine Fehlermeldung des Windows Script Host, die etwa wie folgt lautet: „ActiveX-Komponente kann Objekt nicht erstellen: word.Application“. Es scheint, dass Sie die MSI-basierte Version von Office verwenden müssen, um die Diff-Funktionalität zu erhalten.
Wenn TortoiseMerge nicht all das kann, was Sie benötigen, versuchen Sie es doch mit einem der vielen Open-Source- oder kommerziellen Programme. Jeder hat seine Lieblingsanwendung und diese Liste ist keinesfalls vollständig, aber hier sind ein paar Beispiele, die Sie sich anschauen sollten:
WinMerge ist ein großartiger Open-Source-Vergleichs- und Konflikteditor, der auch mit Verzeichnissen umgehen kann.
Perforce ist ein kommerzielles Versionskontrollsystem, aber Sie können den Vergleichs- und Konflikteditor kostenlos nutzen. Weitere Informationen finden sich auf der Perforce-Webseite.
KDiff3 ist ein freier Vergleichs- und Konflikteditor, der auch Verzeichnisse vergleichen kann. Den Download finden Sie hier.
SourceGear Vault ist ein kommerzielles Versionskontrollsystem, aber Sie können den Vergleichs- und Konflikteditor kostenlos nutzen. Weitere Informationen finden sich auf der SourceGear-Webseite.
ExamDiff Standard ist Freeware. Es kann Dateien, aber keine Verzeichnisse vergleichen. ExamDiff Pro ist Shareware und hat eine Menge an Extras einschließlich dem Vergleichen von Verzeichnissen und der Möglichkeit des Editierens. In beiden Ausführungen ab Version 3.2 ist auch Unterstützung für Unicode vorhanden. Sie können sie von PrestoSoft herunterladen.
Dies ist ähnlich wie ExamDiff Pro eine exzellente Shareware, die auch Verzeichnisse vergleichen kann und Unicode-Unterstützung besitzt. Sie können sie von Scooter Software herunterladen.
Araxis Merge ist ein nützliches kommerzielles Programm, das sowohl Vergleichen als auch Zusammenführen von Dateien und Ordnern unterstützt. Es kann einen Drei-Wege-Vergleich beim Zusammenführen durchführen und besitzt Abgleichsfunktionen, falls Sie die Reihenfolge von Programmblöcken vertauscht haben. Sie können es von Araxis herunterladen.
Lesen Sie „Einstellungen für externe Programme“ für Informationen über die Einrichtung von TortoiseSVN zur Verwendung dieser Werkzeuge.