Die Grenzen von modernen Versionssystemen, oder wie schnell man bequem wird

Ich habe ja vor kurzem wieder angefangen mit Blender zu spielen. Das macht mir Spaß, da kann ich ausspannen. Super.

Und jeder hat bestimmt schon gemerkt: wenn man mit einem Programm arbeitet dann muss man seine Arbeit irgendwann speichern. Da nehme ich jetzt auch mal die Tätigkeit des Programmierens mit rein. Da arbeitet man quasi mit einem Editor und muss dessen bearbeitete Datei irgendwie auf die Festplatte bannen. Und wenn man etwas speichert dann gibt es auch immer eine Entwicklung. Das kennt spätestens jeder der schon einmal einen Brief geschrieben hat. Man fängt irgendwo an und speichert zwischendurch immer mal wieder ab. Schon alleine um sicher zu gehen, dass ein plötzlicher Ausfall des Systems nicht dafür sorgt, dass der Inhalt des flüchtigen Speichers zum Teufel fährt.
Versionskontrollsysteme haben aus dieser Not eine Tugend gemacht. Für Programmierer ist es weitestgehend selbstverständlich ihren Quellcode mit Programmen zu verwalten die dafür sorgen, dass Änderungen rückverfolgbar bleiben. Traditionelle VCS sind zum Beispiel CVS und SVN, der neueste heiße Scheiß sind sogenannte verteilte Versionskontrollsysteme wie Mercurial, Git oder Bazaar. Was die leisten können ist unglaublich. So nimmt man in der Regel seine Änderungen vor und überträgt in in einem Satz (im besten Fall hängen die Änderungen inhaltlich zusammen) in das Repository. Der Vorteil: man kann Änderungen nachverfolgen. Das geht nicht nur mit Programmiersprachen, man könnte das auch mit anderen Textdokumenten machen. Nehmen wir an wir schreiben ein Buch mit kurzen Kapiteln, dann könnte man immer dann wenn ein solches Kapitel abgeschlossen ist eine Version als Satz übertragen. Wenn man nachträglich Korrekturen an einem bereits existierenden Kapitel vornimmt checkt man die als „Kapitel X – Korrekturen“ ein und kannso wunderbar Änderungen verfolgen und nachvollziehen. Solche Versionskontrollsysteme machen also nicht nur für Programmierer Sinn.
Und weil sie für Textdateien optimiert sind können Sie so wunderbare Sachen wie Unterschiede anzeigen, zu Versionen zurück springen und vieles mehr. Und es geht natürlich auch so etwas wie „Hach, die Korrekturen für Kapitel 3 gefallen mir nicht, die nehme ich wieder heraus“, obwohl danach schon ganz andere Änderungen gespeichert wurden.

Wie bereits gesagt: ich mache in letzter Zeit wieder mehr mit Blender. Da wünsche ich mir etwas ähnliches, aber das wird wohl eher nicht funktionieren. Blender speichert seine Dateien nicht in einem Textfile sondern in einem binären Format. Das heißt: schaut man da rein steht da für Menschen nur Unsinn, Blender weiß jedoch was die vielen wirren Bytes bedeuten. Natürlich könnte man auch so eine Datei unter die Versionsverwaltung stellen, aber das macht relativ wenig Sinn. Gut, man könnte so auf eine Version der Datei zurück springen wie sie zu Zeitpunkt x ausgesehen hat, allerdings fehlen die ganzen tollen Features wie das selektive zurücknehmen von Änderungen. Angenommen ich bearbeite ein Objekt in Blender, speichere die Datei und übertrage sie in die Versionskontrolle und füge anschließend weitere Objekte ein, so habe ich weder über Blenders Rückgängig-Funktion, noch über die Versionsverwaltung die Möglichkeit die Bearbeitungen des alten Objektes rückgängig zu machen ohne die neuen Objekte wieder zu entfernen.

Blender hilft hier ein wenig. Ruft man den „Speichern als“-Dialog auf reicht ein Druck auf die +(Plus)-Taste des Nummernblocks um einen automatischen Zähler hinter dem Dateinamen um 1 zu erhöhen. Ich habe mir angewöhnt nach wichtigen Änderungen einfach zu speichern und mit einem schnell Druck auf die Taste eine neue, durchnummerierte Datei zu erstellen, ohne die alte zu überschreiben. So habe ich die Möglichkeit im Nachhinein auch auf ältere Versionen des Projekts zuzugreifen. Mehr Komfort könnte mir leider auch eine moderne Versionskontrolle nicht geben.

Trotzdem finde ich es schade, spätestens wenn man mit mehreren Leuten an einem Projekt arbeitet wäre es super auch hier die Features von verteilten Versionskontrollsystemen zu nutzen. Klar gibt es auch da Möglichkeiten, aber es ist halt nicht so super einfach und luxuriös wie bei Textdateien.

Da weiß man quasi erst hinterher wie weich man gebettet ist wenn man Textdateien versioniert, und wie bequem man geworden ist.

— der Würschtlmann

2 Gedanken zu “Die Grenzen von modernen Versionssystemen, oder wie schnell man bequem wird

  1. Sehr gut geschrieben!

    Ich würde gerne „dieses plus-Feature“ in normalen Speicherdialogen haben. Das wäre echt klasse. Und so wahnsinnig schwer zu implementieren, ist das auch nicht.

    • Danke! :)

      Im normalen Speicherdialog der Desktop-Umgebung wäre das super. Man müsste sich dann nur davon verabschieden, dass man zum Beispiel einen Ordner „Briefe“ in seinem Heimatverzeichnis hat in dem viele Briefdateien liegen. Stattdessen hat man Unterordner, und zwar für jeden Brief einen. Darin befinden sich dann die verschiedenen, durchnummerierten Dateien und bilden so eine Versionshistorie.

      Zumindest geht ich so bei Blender vor.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s