Sollten Sie nicht von unstillbaren Fortschrittsglauben entzündet sein, werden Sie höchstwahrscheinlich zustimmen, wenn ich behaupte, die Aufbewahrung von Produkten früherer Arbeitsstadien sei erwünschenswert. Nicht immer ist die aktuelle Version (in allen Bereichen) die erwünschte. Ich komme nicht selten darauf, dass die neue - verspielte, etwa - Formulierung oder Strukturierung mich doch in eine Sackgasse geführt hat. Dann wäre es schön, nur so weit zurückgehen zu müssen, bis sich die Möglichkeit einer neuen Verzweigung ergibt - und nicht den ganzen Weg zur Verzweigung neupflastern zu müssen. Zu diesem Zwecke dient die Versionskontrolle.
Zum Lieferumfang
einer jeden Linux Distribution
gehört rcs. rcs ist sehr pflegeleicht
und das passende Werkzeug
zur persönlichen Schreibaufzeichnung.
Beispiel
Nehmen wir an, wir hätten eine Datei texthowto.tex erstellt - keine zu gewagte Annahme in meinem Fall, wie Sie sich denken können. Weiters nehmen wir ein Verzeichnis /home/text/Projekte/Text_Howto/ an, in das wir die Datei abspeichern.
Jetzt ist sie noch ein ganz gewöhnliche Datei; doch wir wollen sie der Versionskontrolle unterwerfen.
text@seitung~/Projekte/Text-Howto/> ci texthowto.tex texthowto.tex,v <-- texthowto.tex enter description, terminated with single '.' or end of file: NOTE: This is NOT the log message!Dem kommen wir gerne entgegen:
>> Test-Eincheck >> . initial revision: 1.1 done
Nun heißt die Datei texthowto.tex,v und ermöglicht nur Lesezugriff. Wenn man jetzt wieder an der Datei schreiben will, so muss man sie wieder auschecken. Zuerst noch festlegen, dass die Datei nicht für andere gesperrt werden muss, da nur eine Person daran arbeitet
text@seitung~/Projekte/Text-Howto/> rcs -U texthowto.tex
und dann auschecken.
text@seitung~/Projekte/Text-Howto/> co texthowto.tex texthowto.tex,v --> texthowto.tex revision 1.1 done
Darauf befinden sich zwei Dateien: eine die die alte Version hält und
die zu bearbeitende, die wieder texthowto.tex
heißt
.
Wenn man nun die Datei verändert, wieder abspeichert und eincheckt, wird man nach einer Beschreibung der Veränderungen gefragt:
text@seitung~/Projekte/Text-Howto/> ci texthowto.tex texthowto.tex,v <-- texthowto.tex new revision: 1.2; previous revision: 1.1 enter log message, terminated with single '.' or end of file:
Dem gehen wir wieder schnurstracks nach:
>> belanglose Veränderung >> . done
Das Ping-Pong-Spiel zwischen ci und co führt also zu einem geschichtsbewussten Arbeitsprozess.
Der Versionskontrolle liegt ein anderes grundlegendes Textwerkzeug
zugrunde, diff, so dass die Festplattenkapazität nicht
strapaziert wird, da nur die Unterschiede zwischen den Versionen
abgespeichert werden
.