27.10.2013 Aufrufe

2 - freiesMagazin

2 - freiesMagazin

2 - freiesMagazin

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Versionsverwaltung mit Subversion von Bernd Essl<br />

Bei der Softwareentwicklung hilft eine<br />

Versionsverwaltung, den gemeinsamen<br />

Zugriff auf Quellcode zu kontrollieren<br />

und insgesamt Ordnung zu halten.<br />

Für größere, gemeinsame Projekte ist<br />

es unumgänglich, Änderungen nachvollziehen<br />

zu können. Eines der bekannteren Systeme<br />

ist Subversion. Kurz gefasst bietet es<br />

folgende Funktionen:<br />

• Änderungen erfassen und ablegen, genannt<br />

commit<br />

• Zugriff auf sämtliche abgelegte Versionen,<br />

genannt checkout (auschecken)<br />

Dabei wird zum Projektstart erst einmal ein<br />

Projektarchiv angelegt, genannt Repository.<br />

Zum Arbeiten wird mittels checkout eine<br />

Kopie erstellt. Diese wird zu Beginn jeder Arbeitssession<br />

mittels update abgeglichen.<br />

Subversion hilft nicht zwingend nur bei der<br />

Programmierung, sondern kann für Dokumente<br />

aller Art verwendet werden. So setzen es<br />

einige Systemadministratoren beispielsweise<br />

ein, um schnell festzustellen, was sich in Konfigurationsdateien<br />

geändert hat. Auch bei der<br />

Erstellung längerer Texte (Dokumentationen,<br />

Uni-Arbeiten, . . . ) kann es eine wertvolle Unterstützung<br />

sein.<br />

In der Folge wird beispielhaft das Anlegen des<br />

Projektarchivs demonstriert und es werden<br />

verschiedene svn-Kommandos vorgestellt. Die<br />

Installation des Pakets subversion über die<br />

Paketverwaltung ist denkbar einfach.<br />

Zuerst wird ein Projektarchiv mit dem Namen<br />

repos im Homeverzeichnis erstellt:<br />

$ svnadmin create ˜/repos<br />

Nun kann man sich Grundstruktur des Projektarchives<br />

anschauen:<br />

$ ls repos<br />

conf dav db format hooks <br />

locks README.txt<br />

Als nächstes checkt man die Arbeitskopie in<br />

den Unterordner work, der dabei automatisch<br />

erstellt wird, aus und wechselt dorthin. Der<br />

BENUTZERNAME muss dabei natürlich korrekt<br />

angepasst werden.<br />

$ svn checkout<br />

file:///home/BENUTZERNAME <br />

/repos/ /home/BENUTZERNAME/work<br />

$ cd work<br />

Als Arbeitskopie können Dateien erstellt,<br />

verändert und gelöscht werden. Zuerst eine<br />

Datei mit dem aktuellen Datum anlegen:<br />

16<br />

$ date > test.txt<br />

Um zu überprüfen, was sich in der Arbeitskopie<br />

geändert hat, kann man sich den Status<br />

anzeigen lassen:<br />

$ svn status<br />

? test.txt<br />

Das ” ?“ am Anfang der Zeile zeigt an, dass<br />

die Datei im Projektarchiv nicht existiert. Um<br />

test.txt ins Archiv aufzunehmen, wird svn<br />

add verwendet:<br />

$ svn add test.txt<br />

A test.txt<br />

Das ” A“ informiert darüber, dass test.txt<br />

beim nächsten commit hinzugefügt wird.<br />

Als nächstes muss die Datei ins Projektarchiv<br />

abgelegt werden. Das geschieht mit svn<br />

commit. Der Schalter -m fügt einen Beschreibungstext<br />

hinzu:<br />

$ svn commit -m ¨erster test¨<br />

Adding test.txt<br />

Transmitting file data .<br />

Committed revision 1.<br />

Zu diesem Zeitpunkt verrät svn status,<br />

dass Arbeitskopie und Projektarchiv identisch<br />

sind, indem es keine Ausgabe anzeigt.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!