Was macht TortoiseSVN zu einem guten Subversion-Client? Hier eine Liste der herausragenden Eigenschaften:
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.
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.
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.
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:
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.
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.
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.
Subversion eine abstrakte Programmierschicht für Zugriff auf Projektarchive, die es leicht macht, neue Netzwerkschichten zu implementieren. Subversions „fortgeschrittener“ Netzwerkserver ist ein Modul für den Apache-Webserver, der eine Variante von HTTP namens WebDAV/DeltaV nutzt. Das bringt Subversion einen Vorteil an Stabilität und Interoperabilität, verschiedene Schlüsselfunktionen kommen als kostenlose Zugabe dazu: zum Beispiel Anmeldung, Autorisierung, Netzwerkdatenkompression, Verschlüsselung via SSL und das Betrachten des Projektarchivs in einem Webbrowser. Ein kleinerer Subversion-Server ist ebenfalls vorhanden. Dieser Server nutzt ein eigenes Netzwerkprotokoll, das über SSH getunnelt werden kann.
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.
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.