Eigenschaften von TortoiseSVN

Was macht TortoiseSVN zu einem guten Subversion-Client? Hier eine Liste der herausragenden Eigenschaften:

Shell Integration

TortoiseSVN fügt sich nahtlos in die Windows Shell (z.B. den Explorer) ein. Das heißt, Sie können weiter mit den gewohnten Programmen arbeiten und müssen sich nicht an ein neues Programm gewöhnen. Und Sie brauchen auch nicht jedes mal erst in ein anderes Programm zu wechseln, wenn Sie Funktionen der Versionskontrolle benötigen.

Und dabei sind Sie nicht einmal gezwungen, den Windows Explorer zu benutzen. Auch in vielen anderen Dateimanagern stehen Ihnen ein Kontextmenü und die Funktionen von TortoiseSVN zur Verfügung, ebenso in den Standard-Datei-Dialogen, die von den meisten Windows-Anwendungen benutzt werden. Sie sollten dabei allerdings beachten, dass TortoiseSVN in der Absicht entwickelt wird, eine Erweiterung des Windows Explorers zu sein. So ist es möglich, dass in anderen Programmen die Integration nicht vollständig ist, also beispielsweise die überlagerten Symbole nicht angezeigt werden.

Überlagerte Symbole

Der Status von jeder Datei unter Versionskontrolle wird durch ein kleines überlagertes Symbol angezeigt. Auf diese Weise können Sie sofort den Zustand Ihrer Arbeitskopie erkennen.

Grafische Benutzeroberfläche

Wenn Sie sich die Änderungen an einer Datei oder einem Ordner anzeigen lassen, können Sie auf die Revision klicken um den Kommentar zu dieser Revision anzusehen. Zusätzlich werden die geänderten Dateien aufgelistet. Indem Sie auf eine Datei doppelklicken, werden die Änderungen an der Datei angezeigt.

Der Übertragen-Dialog listet alle zu übertragenden Objekte auf. Über die Ankreuzfelder können Sie festlegen, welche Objekte übertragen werden sollen. Nicht versionierte Objekte können ebenfalls angezeigt werden, so können Sie neue Dateien leicht zur Versionskontrolle hinzufügen, sollten Sie es zuvor vergessen haben.

Einfacher Zugriff auf Subversion-Befehle

Alle Subversion-Befehle sind über das Kontextmenü des Explorers zugänglich; TortoiseSVN fügt dort sein eigenes Untermenü ein.

Da TortoiseSVN ein Subversion-Client ist, möchten wir auch ein paar Features von Subversion selbst erwähnen:

Versionierung von Verzeichnissen

CVS speichert nur die Geschichte von einzelnen Dateien, aber Subversion implementiert ein virtuelles versioniertes Dateisystem, das auch Änderungen an Ordnern über die Zeit speichert. Dateien und Ordner werden versioniert. Daher gibt es clientseitige Befehle, die Verschieben und Kopieren von Dateien und Ordnern erlauben.

Atomare Übertragungen

Eine Übertragung von Änderungen geht entweder komplett in das Projektarchiv oder gar nicht. Das erlaubt es Entwicklern, Änderungen als logisch zusammenhängende Einheit zu erzeugen und zu übertragen.

Versionierte Metadaten

Jeder Datei und jedem Ordner ist ein unsichtbarer Satz von Eigenschaften zugeordnet. Sie können selbst neue Eigenschaften definieren und jede Art von Schlüssel-Wert-Paaren speichern. Änderungen an Eigenschaften werden versioniert, genauso wie der normale Dateiinhalt.

Auswahl an Netzwerkschichten

Subversion hat einen abstrakten Verständnis für den Zugriff auf Projektarchive, der es leicht macht, neue Netzwerkschichten zu implementieren. Subversions fortgeschrittener Netzwerkserver ist ein Modul für den Apache-Web-Server, der eine Variante von HTTP, genannt WebDAV/DeltaV, nutzt. Das verschafft Subversion einen Vorteil an Stabilität und Interoperabilität, verschiedene Schlüsselfunktionen kommen als kostenlose Zugabe daher: so zum Beispiel Anmeldung, Autorisierung, Netzwerkdatenkompression, Verschlüsselung via SSL und das Betrachten des Projektarchivs in einem Web-Browser. Ein kleinerer Subversion-Server ist ebenfalls vorhanden. Dieser Server nutzt ein eigenes Netzwerkprotokoll, das über SSH getunnelt werden kann.

Konsistente Datenhaltung

Subversion drückt Dateiunterschiede mit Hilfe eines binären Differenzalgorithmus aus, welcher identisch für Text- und Binärdateien arbeitet. Beide Dateiarten werden gleichermaßen komprimiert im Projektarchiv abgespeichert, und jeweils nur diese Differenz wird in beiden Richtungen übers Netzwerk übertragen.

Effizientes Verzweigen und Markieren

Die Kosten für Verzweigen und Markieren müssen nicht proportional zur Projektgröße sein. Subversion erstellt Zweige und Marken durch einfaches Kopieren des Projektes. Dabei wird ein Mechanismus ähnlich dem eines Verweises verwendet. Diese Operationen benötigen deshalb nur wenig Zeit und Speicherplatz.