Adressen
URL für die subversion-Kommandos: https://svn.systemausfall.org/svn/REPOSNAME
Weboberfläche (nur Lese-Zugriff): https://svn.systemausfall.org/websvn
Einschreibung in die Benachrichtigungs-Mailinglisten: svn-REPOSNAME-subscribe@lists.systemausfall.org
Subversion-Kommandos
Das [http://svnbook.red-bean.com/ svnBook] erklärt alles, was mensch für den Umgang mit subversion-Repositories wissen sollte.
Trotzdem - in aller Kürze - die Überlebenskommandos für die ersten Stunden:
Initialisierung eines Repositories:
svn import LOCALPATH https://svn.systemausfall.org/svn/REPOSNAME/PATH
Initialisierung einer lokalen Kopie:
svn checkout https://svn.systemausfall.org/svn/REPOSNAME
lokale Veränderungen im Überblick anzeigen:
svn status
lokale Veränderungen im Detail:
svn diff
Veränderungen zum Server hochladen:
svn commit
serverseitige Veränderungen in die lokale Kopie übertragen:
svn update
Anzeige der Veränderungsgeschichte:
svn log
Hinzufügen einer Datei oder eines Verzeichnisses zu den verwalteten Daten:
svn add DATEI
Wichtig: jedes Kommando bezieht sich nur auf das aktuelle Verzeichnis (inklusive Unterverzeichnisse) - also nicht unbedingt auf das komplette Repository.
- Konflikte auflösen:
Wenn svn einen Konflikt erkennt, werden drei Dateien von der betroffenen Datei erzeugt (.oldRevision .actualRevision .mine). Du kannst nun per Hand darin editieren oder einfach die Version, die du weiter nutzen möchtest über die ursprüngliche Datei kopieren. Anschließend teilst du svn den aufgelösten Konflikt mit und commitest danach:
svn resolved DATEI
Edit conflict - other version:
- Konflikte auflösen:
Wenn svn einen Konflikt erkennt, werden drei Dateien von der betroffenen Datei erzeugt (.oldRevision .actualRevision .mine). Du kannst nun per Hand darin editieren oder einfach die Version, die du weiter nutzen möchtest über die ursprüngliche Datei kopieren. Anschließend teilst du svn den aufgelösten Konflikt mit und commitest danach:
svn resolved DATEI
Edit conflict - your version:
End of edit conflict
Web-Oberfläche
Zum Anschauen des Repositories kannst du die subversion-eigene Oberfläche nutzen: https://svn.systemausfall.org/svn/REPOSNAME. Sie ist jedoch sehr spartanisch und erlaubt lediglich den Lese-Zugriff auf die aktuellste Version des Repository.
Alternativ kannst du auch die [http:/websvn.tigris.org WebSvn]-Oberfläche verwenden: https://svn.systemausfall.org/websvn. Sie bietet naturgemäß ebenfalls lediglich Lese-Zugriff, jedoch ist sie gut geeignet, die Veränderungen des Repositories oder einzelner Dateien zu verfolgen.
Graphische Oberflächen (Clients)
Folgende Programme helfen dir bei der Verwaltung deiner lokalen Kopien, falls du die Reinheit der Kommandozeile nicht magst
Mailingliste
Alle Abonnenten einer Repository-Liste werden per Mail über jede Änderung benachrichtigt.
Die Einschreibung erfolgt durch eine Mail an svn-REPOSNAME-subscribe@lists.systemausfall.org.
Backups
Für eine Sicherung solltest du keine direkte Kopie des Repository-Verzeichnis anlegen, sondern ein dump erzeugen. Insbesondere die Berkeley-DB-Repositories (Standard) kommen mit anderen Versionen gelinkter Bibliotheken oder einer anderen Rechnerarchitektur nicht zurecht.
Also:
svnadmin dump --incremental schreibt das Repository nach STDOUT
schön in bzip2 -c OUTFILE pipen und gut aufbewahren
mit bzcat DUMPFILE | svnadmin load NEW_REPOSITORY stellst du dein gesichertes Dump wieder in einem Repository her
Mit dem neuen fsfs-Ablagesystem von [http://subversion.tigris.org Subversion] soll jedoch auch eine direkte Kopie funktionieren - das haben wir aber noch nicht ausgetestet.