Subversion

Aus Joachim Schuster Wiki
Version vom 6. Juli 2010, 18:35 Uhr von Joachim (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Anwendungsfall

Dies ist eine Anleitung um schnell und unkompliziert SVN lokal oder auch in einem kleineren Netz nutzen zu können, ohne Apache2 o.ä. installieren zu müssen. Hier wird stellvertretend die Einrichtung unter Mac OS X erklärt, sollte aber unter Windows entsprechend einfache Lösungen geben.

Installation & Einrichten

Installation

Martin Ott stellt auf seiner Seite ein Package zusammen, mti dem man Subversion (Mac-Like) mit einem Klick installiert.

Repository einrichten

Subversion verwaltet Projekte in sog. Repositories. Dabei muss Subversion initial einen Pfad für die Repositories anlegen. Im Terminal gibt man dazu folgenden Befehl ein:

svnadmin create ~/Library/Subversion

Das legt im Ordner Library des Benutzers ein Unterverzeichnis Subversion an, in dem dann alle Dateien und Pfade für die Verwaltung der Projekte angelegt werden.

Projekt importieren

Nun kann man ein Projekt hinzufügen. Dazu in den Ordner wechseln, in dem das Projekt als Unterordner liegt. Dort den folgenden Befehl eingeben:

svn import ProjectName file:///Users/USERNAME/Library/Subversion/ProjectName --message="initial import"

Damit werden sämtliche Unterordner und Dateien mit ins Repository aufgenommen.

lokale Arbeitskopie auschecken

Unter Punkt 3 wurde das Projekt dem Repository hinzugefügt. Um nun mit dem versionsverwalteten Projekt zu arbeiten muss man es noch auschecken. Erst dadurch werden die erforderlichen (versteckten) Pfade und Dateien angelegt, die für die Versionsverwaltung nötig sind. Durch den folgenden Befehl wird das Projekt in den aktuellen Pfad ins Verzeichnis ProjectName ausgecheckt:

svn checkout file:///Users/USERNAME/Library/Subversion/ProjectName/

komfortabler mit Eclipse

Mit Eclipse kann man die Verwaltung, das Anlegen des Projekt-Repositories und ein- / auschecken der Projektdateien viel angenehmener vornehmen.

Dazu ist das Plugin Subclipse in der Version > 1.2.3 nötig, vorherige Versionen kommen mit dem file://-Protokoll nicht zurecht.

Installation

Unter Help -> Software Updates -> Find and Install... -> Search for new features to install auswählen und bestätigen. Im Dialog New Remote Site... Name vergeben und unter URL: http://subclipse.tigris.org/update_1.2.x/ eingeben. Danach kann man Subclipse über die Installationsfunktion wählen und installieren.

Bebilderte Anleitung von Christoph Becker

Einrichtung

Unter Window -> Open Perspective -> Other... -> SVN Repository Exploring wählen. Hier kann man mit Rechtsklick New -> Repository Location... auswählen und

file://Users/USERNAME/Library/Subversion

angeben. Dabei ist darauf zu achten, dass nur zwei Slashes nach file: kommen.

Ist alles korrekt eingestellt, so kann man die bereits eingecheckten Projekte sehen und auschecken.

Tipp

Man kann nun von einem weiteren Rechner auf das Repository zugreifen. Dazu muss man nur die Verzeichnisfreigabe auf dem Mac aktivieren, sodass man von den anderen PCs auf das Verzeichnis mit dem Subversion-Repository zugreifen kann.

Für das Beispiel mit dem Mac wäre das das Homeverzeichnis als Freigabe. Dann sähen die Einstellungen um auf das gleiche Repository vom Fremden Rechner aus zuzugreifen:

file://COMPUTERNAME/USERNAME/Library/Subversion/


Spezialanwendungen

Repository umziehen

Export / Sichern

Zum sichern bietet SVN den Befehl:

svnamin dump PFAD > FILE.dump

Zum Sichern eines kompletten Repositories dann:

svnadmin dump /pfad/zum/repository > repobackup.dump

Einzelne Verzeichnisse nur exportieren:

svnadmin dump /pfad/zum/repository | svndumpfilter include --drop-empty-revs --renumber-revs /UNTERPFAD > unterpfadbackup.dump

Dieser Befehl gibt das gesamte Repository per Pipe an svndumpfilter, der daraus sämltiche empty-revs dropped und nur den UNTERPFAD herausgefiltert in die Datei unterpfadbackup.dump schreibt.

Import / Einspielen

Neuer Repository anlegen, falls noch nicht mit:

svn create /pfad/zum/neuen/repository/

Ein komplettes Backup in dieses Repository zurückspielen:

svnadmin load /pfad/zum/neuen/repository/ < repobackup.dump

Um das Backup in einen zuvor angelegtes Vereichnis in dem Repository zurück zu sichern:

svnadmin load /pfad/zum/repository/ --parent-dir projects < repobackup.dump

weitere Infos

http://blog.fredrikbostrom.net/2007/03/14/migrating-part-of-repository-in-svn

SVN Arbeitsverzeichnis umbiegen auf alternatives Repository

Möchte/Kann man ein Arbeitsverzeichnis nicht löschen und vom neuen Repository neu auschecken, kann man es auch bequem "umhängen". Dazu wechselt man in das Arbeitsverzeichnis und gibt z.B. folgenden Befehl ein:

svn switch --relocate file:///repos https://svn/newlocation

Es bewirkt, dass das vorherige Repository, das über das file-Protokoll angesprochen wurde, umgemapped wird auf https://svn... Das schöne daran ist, dass es nicht mal nötig ist, vorher alle Dateien eingecheckt zu haben.

weitere Infos

http://svnbook.red-bean.com/en/1.1/re27.html