Versionsverwaltung mit SVN

Es gibt viele Möglichkeiten, die Koordination mehrerer Programmierer zu realisieren. Vom Versenden kompletter Dateipakete per E-Mail bis hin zur professionellen Revisionsverwaltung im Repository einer entsprechenden Server-Software haben wir schon einiges gesehen.
Versionsverwaltung mit Subversion
Nach kurzer Überlegung haben wir uns für die Versionsverwaltung mit Subversion (SVN) entschieden, weil sie nach einer initialen Installation kaum Nachteile aber viele Vorteile bietet:
- Zusammenarbeit von zwei oder mehr Personen ohne lästiges Dateien hin- und herkopieren
- Änderungen an gleichen Dateien werden automatisch zusammengeführt
- mögliche Konflikte (z.B. Änderungen an gleichen Zeilen) werden angezeigt und lassen sich manuell lösen
- weite Verbreitung in der Entwicklergemeinde, sodass die Zusammenarbeit mit zukünftigen Team-Mitgliedern wenig Probleme bereiten sollte
Benötigte Programme
Es gibt viele Programme zur Verwaltung der Repositories . Da jeder seine eigenen Vorstellungen vom komfortablen Arbeiten hat, muss jeder für sich selbst herausfinden, was für ihn am geeignetsten ist:
Tortoise (Win), Eclipse Erweiterung Subclipse (Mac,Linux,Win) – unsere Wahl, Kommandozeile mit SVN (nur die Harten komm’ in’ Garten…)
Es ist allerdings durchaus sinnvoll, die Untersützung für SVN direkt in der IDE zu haben, da sich so die Konflikte wesentlich einfacher visualisieren und lösen lassen (Vergleichsanzeige der ensprechenden Versionen etc.).
Mit welchen Programmen zur Versionsverwaltung habt Ihr bereits Erfahrungen gemacht? Lohnt sich für ein Startup überhaupt der Einsatz einer Versionsverwaltung oder verkompliziert das nur die Entwicklung?

User Comments
Ren?ɬ©
On September 15, 2007 at 6:20 pm
Ich muss gestehen, dass ich zu Windows-Zeiten lieber mit TortoiseSVN gearbeitet habe (unter Windows die Kommandozeile zu verwenden, war irgendwie nicht üblich). Das hat sich aber geändert, seit ich auf OS X und Linux migriert bin. Hier habe ich von Anfang an mit der Kommandozeile gearbeitet. Für normales aus- und einchecken geht das sehr bequem und schnell.
Irgendwann habe ich begonnen, mit Eclipse (OS X und Ubuntu) zu arbeiten und nutzte dann auch die Erweiterung Subclipse. Es ist in der Tat sehr bequem, direkt in der IDE Subversion-Unterstützung zu haben. Allerdings muss ich gestehen, nutze ich nicht für jedes Projekt Eclipse. So z.B. bei der Verwaltung von OpenOffice- und PDF-Dokumenten. Später will ich Subversion auch für Bildbearbeitungs- und Musikprojekten verwenden. Es fehlt dann zwar die Möglichkeit, Dateivergleiche mittels Diff durchzuführen (da es unbekannte, digitale Formate sind und keine reinen Textdateien). Man hat dann aber trotzdem eine Versionsverwaltung und gleichzeitig eine Art Backup.
Für diese Zwecke sind also entweder eigenständige Programme notwendig, oder aber wieder die Kommandozeile. Für OS X gibt es:
- SvnX http://www.lachoseinteractive.net/en/community/subversion/svnx/features/
- ZigVersion http://zigzig.com/content/view/15/29/
- SCPlugin http://scplugin.tigris.org/
Letzteres kommt von Tigris (der Firma, die Subversion entwickelt hat). Es integriert sich sehr gut in den Finder, wie man es unter Windows von TortoiseSVN gewohnt ist. Detaillierte Erfahrungen konnte ich damit bisher noch nicht sammeln. Kleiner Hinweis: Wer viel mit XCode unter OS X arbeitet, kann sich ebenfalls glücklich schätzen. Seit der Version 1.5 ist Subversion-Support vorhanden, siehe http://developer.apple.com/tools/subversionxcode.html
Unter Linux ist es schon etwas schwieriger, eine GUI zu finden, die sich in den Dateimanager einbettet, wie man es von TortoiseSVN oder SCPlugin kennt. Es gibt zwar eine Skript-Erweiterung für Nautilus, die bei mir aber nicht so richtig funktioniert. Details siehe http://marius.scurtescu.com/2005/08/24/nautilus_scripts_for_subversion
Andere Standalone-Tools sind:
- SVN Workbench (svn-workbench)
- RapidSVN http://rapidsvn.tigris.org/
Letzteres ist wieder von Tigris selbst programmiert worden und macht einen sehr guten Eindruck. Auch hier muss ich noch weitere Erfahrungen sammeln.
Gabriel
On September 17, 2007 at 9:40 am
Hui, danke für Deine umfangreichen Ergänzungen zum Thema. Da sollte ja für jeden etwas dabei sein
Wer also noch eine bessere Alternative für den Dateimanager unter Linux nutzt, kann die auch gern unten seine Erfahrungen posten, dann wären wir komplett…
Sebastian
On November 22, 2007 at 7:05 pm
Hmm, also meine Erfahrung ist, dass sich der Einsatz von SVN immer lohnt, selbst, wenn man alleine entwickelt. In Verbindung mit einer Oberfläche wie Trac ist es in puncto Produktivität kaum schlagbar.
Was die client-seitige Unterstützung von SVN angeht, so ist sicherlich CrossVC einen Blick wert.
Kommentieren: