Wer hat welche Zeile geändert?

Manchmal möchten Sie nicht nur erfahren, welche Zeilen sich zwischen verschiedenen Revisionen geändert haben, sondern auch, wer genau für welche Zeile in einer Datei verantwortlich ist. Dazu gibt es den Befehl TortoiseSVNAnnotieren....

Dieser Befehl listet für jede Zeile einer Datei den Autor und die Revision der letzten Änderung dieser Zeile auf.

Annotieren für Dateien

Abbildung 4.61. Der Annotieren-Dialog

Der Annotieren-Dialog


Wenn Sie nur an den Änderungen in neueren Revisionen interessiert sind, können Sie die Revision festlegen, bei der das Annotieren beginnen soll. Wenn Sie jede Revision annotieren wollen, setzen Sie diesen Wert auf 1.

Standardmäßig wird die annotierte Datei in TortoiseBlame angezeigt, welches die verschiedenen Revisionen hervorhebt. Wenn Sie die annotierte Datei bearbeiten oder ausdrucken möchten, aktivieren Sie Betrachte Annotierungen im Texteditor.

Sie können festlegen, wie Änderungen an Zeilenumbrüchen und Leerzeichen behandelt werden sollen. Diese Optionen sind in „Zeilenende- und Leerzeichenoptionen“ beschrieben. Die Vorgabe ist, dass alle Zeilenenden- und Leerzeichenänderungen als echte Änderungen behandelt werden, aber wenn Sie solche Änderungen ignorieren und den Originalautor finden wollen, können Sie hier die entsprechende Option wählen.

Sie können sich, wenn sie wünschen, auch die Informationen über zusammengeführte Revisionen anzeigen lassen, wobei diese Funktion wesentlich mehr Zeit benötigt, um die Daten vom Server abzurufen. Wenn Zeilen aus einer anderen Quelle integriert wurden, wird beim Annotieren die Revision angezeigt in der die Änderungen im Original vorgenommen wurden sowie die Revision in der sie in dieser Datei zusammengeführt wurden.

Sobald Sie auf OK klicken, berechnet TortoiseSVN die Annotierungen für diese Datei. Sobald der Prozess abgeschlossen ist, wird das Ergebnis in eine temporäre Datei geschrieben und Sie können das Ergebnis betrachten.

Abbildung 4.62. TortoiseBlame

TortoiseBlame


TortoiseBlame, das zusammen mit TortoiseSVN installiert wird, macht eine solche Annotierung leichter lesbar. Wenn Sie mit dem Mauszeiger über eine Zeile in der linken Spalte fahren, werden alle Zeilen, die in derselben Revision geändert wurden mit einer dunkleren Farbe dargestellt. Zeilen von anderen Revisionen, aber dem selben Autor werden mit einem helleren Hintergrund dargestellt. Die Einfärbung funktioniert eventuell nicht optimal wenn Sie Ihren Monitor auf nur 256 Farben eingestellt haben.

Wenn Sie auf eine Zeile Links klicken werden alle Zeilen derselben Revision markiert, und Zeilen von anderen Revisionen aber dem selben Autor werden in einer anderen Farbe dargestellt. Diese Markierung bleibt bestehen, so dass Sie den Mauszeiger bewegen können ohne die Einfärbung zu verlieren. Klicken Sie nochmals auf diese Revision um die Markierung wieder aufzuheben.

Die Revisionskommentare (Logmeldungen) werden in einem Hinweistext angezeigt, wenn sich die Maus über der Informationsspalte befindet. Falls sie diese Logmeldung in die Zwischenablage kopieren wollen, benutzen Sie dazu das Kontextmenü, das bei einem Rechtsklick auf die Informationsspalte erscheint.

Sie können innerhalb der Annotierungen suchen, indem Sie BearbeitenSuchen... aufrufen. Diese Funktion erlaubt Ihnen, nach Revisionsnummern, Autoren und dem Inhalt der Datei selbst zu suchen. Logmeldungen werden nicht durchsucht. Für diese Funktion steht der Log-Dialog zur Verfügung.

Sie können auch mittels BearbeitenGehe zu Zeile... in eine bestimmte Zeile der Datei springen.

Wenn die Maus sich über den Informationsspalten im Annotieren Fenster befindet, steht ein Kontextmenü zur Verfügung, mit dessen Hilfe Sie Revisionen vergleichen und die Historie, unter Verwendung der Revisionsnummer über der sich die Maus befindet, betrachten können. KontextmenüVorherige Revision annotieren erzeugt eine Annotierung derselben Datei unter Verwendung der vorherigen Revisionsnummer als Obergrenze. Dies zeigt Ihnen den Zustand der Datei bevor die Zeile, die Sie gerade betrachten, geändert wurde, an. KontextmenüZeige Änderungen startet das Vergleichsprogramm mit den Änderungen der Revision. KontextmenüZeige Log startet den Log-Dialog in der gewählten Revision.

Wenn Sie leichter erkennen möchten, wo die ältesten und die neuesten Änderungen sind, wählen Sie AnsichtFarbcodierung für Alter der Zeilen. Dann werden neue Zeilen in rot, ältere Zeilen in blau mit einem Farbgradienten hinterlegt. Die Standardfarben sind recht hell, können aber in den TortoiseBlame Einstellungen geändert werden.

Wenn Sie die Änderungsverfolgung verwenden und die Zusatzinformation beim Annotieren angefordert haben, werden zusammengeführte Zeilen leicht unterschiedlich angezeigt. Falls eine Zeile als Ergebnis des Zusammenführens mit einem anderen Pfad geändert wurde, zeigt TortoiseBlame die Revision und den Autor der letzten Änderung in der Originaldatei, anstatt der Revision, in der die Daten zusammengeführt wurden, an. Die entsprechenden Zeilen werden durch Kursivschrift hervorgehoben. Die Revision, in der die Änderungen zusammengeführt wurden, wird im Hinweistext angezeigt, sobald Sie mit der Maus über die Infospalten fahren. Wenn Sie nicht möchten, dass zusammengeführte Zeilen so angezeigt werden, deaktivieren Sie die Zusammenführen-Info einschließen Option, wenn Sie das Annotieren starten.

Wenn Sie die Pfade sehen wollen, die beim Zusammenführen beteiligt waren, wählen Sie AnsichtZusammengeführte Pfade. Dies zeigt den Pfad, in der die Zeile zuletzt geändert wurde, ausschließlich der Änderungen des Zusammenführens.

Die Revisionsnummer beim Annotieren repräsentiert die letzte Revision in der der Inhalt der Zeile geändert wurde. Wenn die Datei als Kopie einer anderen Datei erstellt wurde, entspricht die Revision der letzten Änderung in der Originaldatei und nicht der Revision in der die Datei kopiert wurde. Das gleiche Verhalten gilt auch für die Pfade, die beim Zusammenführen beteiligt waren.

Die Einstellungen für TortoiseBlame können Sie überTortoiseSVNEinstellungen auf dem Karteireiter TortoiseBlame anpassen. Siehe „TortoiseBlame Einstellungen“.

Unterschiede annotieren

Eine der Einschränkungen beim Annotieren ist, dass der Bericht nur die Datei in einer bestimmten Revision sowie die Personen, die die letzten Änderungen an den Zeilen vorgenommen haben, anzeigt. Manchmal möchten Sie sehen, was genau durch wen geändert wurde. Dazu steht ein Kontextmenü zur Verfügung, mit dessen Hilfe Sie sich die Änderungen in einer bestimmten Revision anzeigen lassen können. Wenn Sie jedoch die Änderungen und die Annotierungen gleichzeitig sehen wollen, benötigen Sie eine Kombination dieser Berichte.

Der Log-Dialog bietet Ihnen mehrere Möglichkeiten dazu.

Revisionen annotieren

Selektieren sie im oberen Teil zwei Revisionen und wählen dann KontextmenüRevisionen annotieren. Dadurch wird die Annotierungsinformation für die zwei Revisionen geholt und anschließend das Vergleichsprogramm gestartet, um die zwei Annotierungen gegenüberzustellen.

Änderungen annotieren

Markieren Sie eine Revision in der oberen Liste und eine Datei aus der unteren Liste. Wählen Sie dann KontextmenüUnterschiede annotieren. Dies wird die Annotierungen für die gewählte sowie die vorherige Revision erstellen und im Vergleichsprogramm anzeigen.

Vergleiche und Annotiere mit Arbeitskopie BASE

Zeigen Sie das Log für eine einzelne Datei an und markieren Sie in der oberen Liste eine einzelne Revision. Wählen Sie KontextmenüVergleiche und Annotiere mit Arbeitskopie BASE. Dies wird die Annotierungen für die gewählte Revision sowie für die BASE Revision der Arbeitskopie erstellen und im Vergleichsprogramm anzeigen.