Diese Dokumentation wurde zur Beschreibung der Serie 1.7.x von Apache™ Subversion® erstellt. Falls Sie eine unterschiedliche Version von Subversion einsetzen, sei Ihnen dringend angeraten, bei http://www.svnbook.com/ vorbeizuschauen und stattdessen die zu Ihrer Version von Subversion passende Version dieser Dokumentation heranzzuiehen.

Manchmal müssen Sie einfach nur aufräumen

Nachdem wir nun die täglichen Aufgaben abgehandelt haben, für die Sie regelmäßig Subversion verwenden, gehen wir nun ein paar Verwaltungsaufgaben für Ihre Arbeitskopie durch.

Entsorgen einer Arbeitskopie

Subversion merkt sich weder den Zustand noch das Vorhandensein einer Arbeitskopie auf dem Server, so dass serverseitig kein Aufwand für Arbeitskopien anfällt. Dementsprechend besteht keine Notwendigkeit, dem Server mitzuteilen, dass Sie vorhaben, eine Arbeitskopie zu löschen.

Falls die Wahrscheinlichkeit besteht, dass Sie eine Arbeitskopie wiederverwenden möchten, ist es nicht verkehrt, sie einfach auf der Platte zu lassen, bis Sie sie wieder benutzen wollen. Zu diesem Zeitpunkt reicht lediglich ein svn update zum Aktualisieren, und sie ist gebrauchsfertig.

Falls Sie die Arbeitskopie jedoch bestimmt nicht mehr verwenden möchten, können Sie sie ruhig löschen, indem Sie die zum Löschen von Verzeichnissen vorgesehenen Bordmittel Ihres Betriebssystems verwenden. Wir empfehlen jedoch, vorher svn status aufzurufen und alle Dateien zu untersuchen, denen ein ? voransteht, um sicherzugehen, dass sie nicht wichtig sind.

Wiederherstellung nach einer Unterbrechung

Wenn Subversion Ihre Arbeitskopie verändert, entweder Ihre Dateien oder seinen eigenen Verwaltungsbereich, versucht es so sicher vorzugehen wie möglich. Bevor die Arbeitskopie geändert wird, schreibt Subversion seine Absichten in eine Art private Merkliste. Dann führt es diese Aktionen aus, um die Änderungen durchzuführen, wobei es während der Arbeit den relevanten Teil der Arbeitskopie sperrt, um andere Clients davon abzuhalten, während der Änderung auf die Arbeitskopie zuzugreifen. Zuletzt entfernt Subversion die Sperre und räumt die private Merkliste auf. Architektonisch ähnelt das einem Dateisystem mit Journal. Falls eine Operation von Subversion unterbrochen wird (z.B. wenn der Prozess abgeschossen wird oder der Rechner abstürzt), verbleibt die private Merkliste auf der Platte. Das erlaubt es Subversion später zu der Merkliste zurückzukehren, um die vorher begonnene Operationen zu vervollständigen und Ihre Arbeitskopie wieder in einen konsistenten Zustand zu bringen.

Genau das macht svn cleanup: Es durchsucht Ihre Arbeitskopie und arbeitet etwaige übrig gebliebene Punkte von der Merkliste ab, wobei Sperren in der Arbeitskopie entfernt werden. Falls Ihnen Subversion jemals mitteilt, dass ein Teil Ihrer Arbeitskopie gesperrt ist, sollten Sie svn cleanup aufrufen, um das Problem zu beheben. Der Befehl svn status informiert Sie auch über administrative Sperren in der Arbeitskopie, indem es ein L neben diesen gesperrten Pfaden anzeigt:

$ svn status
  L     somedir
M       somedir/foo.c
$ svn cleanup
$ svn status
M       somedir/foo.c

Verwechseln Sie diese administrativen Sperren nicht mit den anwenderverwalteten Sperren, die Subversion-Anwender anlegen, wenn sie das sperren-ändern-freigeben-Modell der gleichzeitigen Versionskontrolle verwenden; zur Klärung siehe den Kasten Die drei Bedeutungen von Sperre.