Wie das Leben so spielt
Vor kurzem konnte ich wieder am eigenen Leib verspüren, wie wertvoll Source Controll Management sein kann. Bei der Auftrennung eines Softwareprojekts habe ich Klassen eines Maven Moduls, in ein anderes neues Modul verschoben, oder besser verschieben lassen. Eclipse bietet dafür eine “Move…” Funktion. Beim Test der Auftrennung fand das Hauptprojekt jedoch das neue Modul nicht mehr. Wie immer zuerst auf der falschen Fährte, habe ich erst den Build Prozess in Zweifel gezogen und Maven des Missmanagements verdächtigt. Als sich dort keine Unstimmigkeit finden lies, habe ich doch tatsächlich in die Verzeichnisse des neuen Modul gesehen. Die Lehr aus der Geschicht, traue Automatismen nicht. Die Klassen waren zwar erfolgreich aus dem ursprünglichen Modul entfernt worden, scheinen aber nie im neuen Modul angelegt worden zu sein. Die Arbeit der letzten Woche im Kübel!
Wäre da nicht mein SCM! So war der Missstand in ein paar Klicks erledigt, indem ich die fehlenden Klassen aus dem Projekt-SVN wieder herstellte. Als hätte ich eine Vorahnung gehabt, sicherte ich den gesamten veränderten Code über das Versionierungstool, bevor ich die Klassen von Eclipse verschieben lies.
Ob good old CVS, weitverbreitetes SVN, das aktuelle iSCM: Git oder sonstige Alternativen wie zB Mercurial oder Perforce, sie alle hätten mir in dieser Situation den Hals gerettet. Neben dem kollaborativen Nutzen, der sich ist vor allem bei größeren Projekten bemerkbar macht, ist vor allem die Sicherung der Arbeitsleistung ein wesentlicher Aspekt von Versionsverwaltungs Software, solange man einen wichtigen Punkt nicht vergisst: Man muss Änderungen auch einchecken, und das regelmäßig!
Versionsverwaltung für alle
Es gibt zahlreiche Dienstleister die Versionsverwaltungssoftware gegen mehr oder weniger Geld zur Verfügung stellen. Hier möchte ich drei der bekanntesten vorstellen.
Sourceforge
In meinem Fall konnte ich auf die Strukturen des auf Open Source Projekte spezialisierten Sourceforge bauen und meinen Code dort ins SVN committen, aber auch die alternativen Versionsverwaltungstools bietet Sourceforge zur Auswahl an. Für Open Source Projekte findet man hier neben einer oder mehreren Versionsverwaltungen alles was ein Projekt sich wünschen kann, und das umsonst.
Google Code
Etwas abgespeckt im Funktionsumfang, im Vergleich zu Sourceforge, ist Google Code, welches jedoch immer noch ein solides Rundumpaket zum Projekthosting anbietet.
Github
Der Renner aktuell, vorallem unter Ruby und Javascript Entwicklern, ist Github, welches sich, wie der Name aufzeigt, auf Git spezialisert hat. Auch Github bietet für Open Source Projekte seine Dienste gratis an. Der Code ist dann jederzeit für alle zugänglich und kann für alle geforked werden. Für einen monatlich zu entrichtenden Aufpreis sind hier jedoch private Repositories zu erhalten.
Host it yourself
Subversion, Git und Co können meist kostenlos bezogen werden und auch selbst gehostet werden. Hat man einen eigenen Server muss man seinen Sourcecode nicht mehr in die Hände dritter geben. Ohne Server rentiert es sich immernoch die Versionsverwaltung lokal auf dem Entwicklungsrechner abzuhandeln. Wenn auch meist mit ein paar Einschränkungen in der Handhabung.
Happy coding!
Schreibe einen Kommentar