Versionskontrolle mit Tortoise Subversion – braucht man das?

Ein sehr praktisches Tool, nicht nur für Programmierer, sondern auch für Admins, Grafiker oder andere Leute die viele Dateien bearbeiten und dabei verschiedene Arbeitsschritte festhalten müssen oder wollen, ist die Versionskontrolle „TortoiseSVN“. Gerade für Leute die das mächtigere Git nicht verstehen (ich selber habe mich damit bisher auch nicht wirklich befasst) oder nicht mit übermäßig vielen Leuten an ihren Projekten zusammenarbeiten, bietet Subversion einen sehr guten Einstieg in die Versionskontrolle.

 

Wozu überhaupt eine Versionskontrolle benutzen?

Viele Leute mögen denken, dass es unsinnig ist ein Versionskontrollsystem einzusetzen, insbesondere wenn man die einzige Person ist, die an seinen Projekten arbeitet. Dabei kann auch der Irrglaube vorherrschen, dass ein (hoffentlich vorhandenes) regelmäßiges Backup der Dateien schon ausreicht. Im Zweifel wenn man etwas versaut hat kann man ja da einfach die Datei wiederherstellen oder bei einem Webprojekt vom Produktivsystem wieder herunterladen. Aber wenn man ehrlich ist, sehen die meisten Projektordner doch irgendwann so oder so ähnlich aus:

 

Warum TortoiseSVN?

Eigentlich betreibt man Subversion, das von Apache stammt, in einem Apache-Webserver. Für kleine Benutzergruppen oder als Einzelnutzer ist dies aber gar nicht nötig. Damals habe ich Subversion nicht benutzt, weil ich keine Lust hatte dies extra in einem Apache-Server oder in meiner Testumgebung unter Xampp zu installieren. Irgendwann gab mir dann ein Kollege bei meinem damaligen Arbeitgeber den Tipp, dass man mit dem Client TortoiseSVN nicht nur auf einen Subversion-Server zugreifen kann, sondern damit auch lokale Repositories erstellen kann und einem dann die normalen Funktionen von Subversion zur Verfügung stehen. Deshalb hab ich mich dafür entschieden Tortoise zu benutzen.

 

Was muss man machen?

Man muss lediglich Tortoise installieren und legt dann ein neues sogenanntes „Repository“ an. Dieses Repository beinhaltet dann später die Projekte. Wenn man das ganze anders strukturieren will, kann man natürlich auch für verschiedene Projekttypen einzelne Repositories anlegen. Das ist mir aber zu viel Aufwand, aber das kommt natürlich auf die persönlichen Anforderungen an.

Da ich wie bereits beschrieben viele Projekte in einem Repository lagere, verzichte ich auf die automatische Struktur-Erstellung und lege mir diese für die Projekte, wenn nötig, selber an.

Folgende Ordner sind dabei für die Struktur eines Projektes in Subversion empfohlen:

trunk = Stamm(version)
Im Ordner trunk befindet sich quasi immer die aktuelle Fassung, bzw. der höchste Entwicklungsstand.

tags = Etiketten, wobei Markierstellen wohl die treffendere Übersetzung ist
Im Ordner tag befinden sich Unterordner in denen veröffentlichte Versionen festgehalten werden sollen. Also beispielsweise der Quellcode von Version 1.04 eines Programms oder der Stand einer Webseite am 01.01.2018.

branches = Zweige
In den Ordner Branch kann man vom trunk abweichende Entwicklungszweige unterbringen. Dies wäre z. B. der Fall wenn eine eigentlich veraltete Version eines Programmes aus irgendeinem Grund noch einmal gewartet werden muss, ohne dass der Code im trunk dafür direkt angefasst wird oder dass ein Feature, das vielleicht doch nicht in die finale Version kommt, erst einmal testweise eingebaut wird.

Natürlich kann man auch davon abweichen und sich selber eine Ordnerstruktur überlegen.

Diese Struktur erstellt man mit Hilfe des Repo-Browsers. Dreh- und Angelpunkt für Tortoise ist die Bedienung über das Windows-Kontextmenü.

Der Repo-Broser ist so eine Art „Windows Explorer“ mit dem man durch die Ordner/Projekte und Dateien innerhalb des Repository navigieren kann. Man kann entweder hier die Projekte sogar per Drag&Drop importieren oder indem man im Windows Explorer bei einem Ordner mit Rechtsklick das Kontextmenü öffnet und im Trotoise-Untermenü „Import“ auswählt.

Wichtig: Nachdem Import ist der importierte Ordner nicht mit den Dateien in Subversion verknüpft! Eine solche Verknüpfung geschieht nur durch einen „Checkout“ eines Subversion-Projekts. Deshalb ist es nach einem Import nötig den ursprünglichen Projektordner im Windows Explorer zu löschen und durch einen Checkout aus Subversion zu ersetzen!

Hierzu wird es in meinem nächsten Beitrag, indem es um den Import eines bestehenden Projekts gehen wird. ein Beispiel zur Veranschulichung geben!

 

Wofür eignet sich Subversion noch?

  • Man kann Subversion z. B. auch einfach zur Überwachung eines Ordners, bei dem man prüfen möchte ob dort neue Dateien hinzugekommen sind oder bestehende verändert wurden, nutzen.
  • Man kann die Änderungen am Quellcode eines Programmes von jemand anderem nachvollziehen, indem man zuerst die alte Version eincheckt und dann einen Abgleich mit der neuen Version vornimmt. Dies kann z. B. beim Einsatz von OpenSource-Tools hilfreich sein.
  • Theoretisch kann man Subversion wohl aufgrund der gegebenen Reviosnssicherheit auch als DMS verwenden.

Schreibe einen Kommentar