Skip to content


SVN: Quickstart

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 add
svn delete
svn copy
svn move
3. Änderungen untersuchen. svn status
svn diff
4. Änderungen eventuell zurücknehmen. svn revert
5. Konflikte auflösen (Änderungen anderer einarbeiten). svn update
svn 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/

Der Beitrag wurde am Dienstag, den 22. Dezember 2009 um 13:14 Uhr veröffentlicht und wurde unter Subversion abgelegt. Du kannst die Kommentare zu diesen Eintrag durch den RSS 2.0 Feed verfolgen. Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten. Die Tags zu diesem Eintrag lauten: , , .



Keine Antworten

Über den RSS-Feed der Kommentare kannst du dich über neue Kommentare informieren.



Some HTML is OK

or, reply to this post via trackback.