Welche Schritte sind notwendig, um einen unversionierten Verzeichnisbaum in ein Repository zu bringen und darin Änderungen vorzunehmen?
Repository erstellen und Dateien importieren
Das Subversion-Repository muss zunächst mit svnadmin erzeugt werden:
$ svnadmin create /path/to/newrepos/svn
Die Subversion-Verzeichnisstruktur wird dabei im Verzeichnis /var/svn/newrepos gespeichert (absolute oder relative Pfadangabe möglich).
Nach dem Erstellen dieser Struktur, müssen die Dateien in das Repository importiert werden:
$ svn import /project/path/with/files file:///path/to/newrepos/svn/ -m "Erstimport"
Anfänglicher Checkout
Das Auschecken eines Repositorys erzeugt eine “Arbeitskopie” desselben auf dem lokalen Rechner. Diese Arbeitskopie umfasst die Revision HEAD (die letzte Revision) des auf der Kommandozeile angegebenen Subversion-Repositories:
$ svn checkout file:///path/to/newrepos/svn/ /Users/username/myworktree/
Das Verzeichnis /Users/username/myworktree/ dient dann als eigentliches Arbeitsverzeichnis.
Grundlegender Arbeitszyklus
An dieser Arbeitskopie können nun Änderungen vorgenommen werden, und mit folgenden Punkten in das Repository eingepflegt werden:
Der typische Ablauf sieht folgendermaßen aus:
| 1. Arbeitskopie aktualisieren |
svn update
|
| 2. Änderungen vornehmen. |
svn addsvn deletesvn copysvn move
|
| 3. Änderungen untersuchen. |
svn statussvn diff
|
| 4. Änderungen eventuell zurücknehmen. |
svn revert
|
| 5. Konflikte auflösen (Änderungen anderer einarbeiten). |
svn updatesvn resolve
|
| 6. Änderungen ins Repository bringen. |
svn commit
|
Dateien ausschließen
Unter Umständen gibt es im Arbeitsverzeichnis auch Dateien (beispielsweise temporäre Dateien oder Log-Dateien), die nicht von Subversion verwaltet werden sollen. Diese Dateien können durch setzen der Einstellung svn:ignore aus dem Repository ausgeschlossen werden:
svn propset svn:ignore "eineDatei[Enter]nochEine[Enter]*.log[keinEnter]" PFAD
PFAD ist hierbei eine relative Pfadangabe auf den die Einstellungen angewendet werden sollen.
Gibt es beispielsweise ein Verzeichnis tmp/ dessen Inhalt komplett ignoriert werden soll, dann führt man im Terminal folgenden Befehl aus:
svn propset svn:ignore "*" tmp/
Der “*” steht in diesem Fall für alle Dateien und Unterverzeichnisse in diesem Verzeichnis “tmp/”.
Die aktuell gesetzten ignore-Einstellungen eines Verzeichnisses können über propget abgerufen werden:
svn progget svn:ignore tmp/
Das Löschen einer gesetzten Einstellung erfolgt über propdel (analog zu propset):
svn progdel svn:ignore "*" tmp/
Keine Antworten
Über den RSS-Feed der Kommentare kannst du dich über neue Kommentare informieren.