This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.

A.6. Benutzen von Subversion

A.6. Benutzen von Subversion

A.6.1. Einführung

Seit Juli 2012 nutzt FreeBSD Subversion (svn) als primäres Versionskontrollsystem zur Speicherung des gesamten FreeBSD Quellcodes, der Dokumentation und der Ports-Sammlung.

Anmerkung:

Subversion ist hauptsächlich ein Werkzeug für Entwickler. Die meisten Benutzer sollten FreeBSD Update benutzen um ihr FreeBSD zu aktualisieren, und Portsnap um ihre Ports-Sammlung aktuell zu halten.

In Subversion werden URLs in der Form von protocol://hostname/path verwendet, um ein Repository zu kennzeichnen. Die Spiegel können, wie unten angegeben, verschiedene Protokolle unterstützen. Die erste Komponente des Pfades ist das FreeBSD Repository auf welches zugegriffen wird. Es gibt drei verschiedene Repositories. base für den Quellcode des FreeBSD Basissystems, ports für die Ports-Sammlung und doc für die Dokumentation. Als Beispiel spezifiziert die URL svn://svn0.us-east.FreeBSD.org/ports/head/ den Hauptzweig des Port-Repositories auf dem Mirror svn0.us-east.FreeBSD.org, über das svn-Protokoll.

A.6.2. Installation

Subversion muss installiert werden, bevor Sie damit die Inhalte eines der Repositories auschecken können. Wenn eine Kopie der Ports-Sammlung bereits vorhanden ist, kann Subversion wie folgt installiert werden:

# cd /usr/ports/devel/subversion
#make install clean

Ist die Ports-Sammlung nicht vorhanden, kann Subversion als Paket installiert werden:

# pkg_add -r subversion

Wenn Sie pkgng verwenden, um Pakete zu verwalten, können Sie Subversion stattdessen so installieren:

# pkg install devel/subversion

A.6.3. Ausführen von Subversion

Der svn Befehl wird verwendet, eine Kopie der Quellen in ein lokales Verzeichnis zu holen. Die Dateien in diesem Verzeichnis werden lokale Arbeitskopie genannt.

Warnung:

Wenn das lokale Verzeichnis bereits vorhanden ist, aber nicht von svn erstellt wurde, benennen Sie das Verzeichnis um oder löschen Sie es, bevor Sie Inhalte auschecken. In ein bestehendes nicht-svn Verzeichnis auszuchecken kann zu Konflikten zwischen den vorhandenen Dateien und denen aus dem Respository führen.

Das Auschecken aus einem bestimmten Repository kann wie folgt durchgeführt werden:

# svn checkout svn-mirror/repository/branch lcwdir

wobei:

  • svn-mirror eine URL für einen Mirror aus Subversion Mirror Sites ist.

  • repository eines der Projekt-Repositories ist, z. B. base, ports oder doc.

  • branch vom verwendeten Repository abhängt. ports und doc werden meist im head Zweig aktualisiert, während base die neueste Version von -CURRENT unter head und die jeweilige neueste Version des -STABLE Zweiges unter stable/8 (für 8.x) und stable/9 (9.x) verwaltet wird.

  • lcwdir das Zielverzeichnis ist, in dem die Inhalte des angegebenen Zweiges plaziert werden sollen. Dies ist üblicherweise /usr/ports für ports, /usr/src für base, und /usr/doc für doc.

Dieses Beispiel checkt die Ports-Sammlung aus dem Repositroy im Westen der USA über das HTTPS Protokoll aus, und speichert die Arbeitskopie unter /usr/ports. Wenn /usr/ports bereits vorhanden ist, aber nicht von svn erstellt wurde, denken Sie vor dem Auschecken daran, das Verzeichnis umzubenennen oder zu löschen.

# svn checkout https://svn0.us-west.FreeBSD.org/ports/head /usr/ports

Dies kann eine Weile dauern, da beim ersten Auschecken der komplette Zweig vom entfernten Repository heruntergeladen werden muss. Bitte haben Sie Geduld.

Nach dem ersten Auschecken können Sie Ihre lokale Arbeitskopie wie folgt aktualisieren:

# svn update lcwdir

Um /usr/ports aus dem oben erstellten Beispiel zu aktualisieren, benutzen Sie:

# svn update /usr/ports

Das Update ist viel schneller als ein Auschecken, da nur die Dateien übertragen werden müssen, die sich auch geändert haben.

Eine alternative Möglichkeit zur Aktualisierung Ihrer Arbeitskopie nach dem Auschecken ist es, das bestehende Makefile in den Verzeichnissen /usr/ports, /usr/src, und /usr/doc zu nutzen. Setzen Sie dazu SVN_UPDATE und benutzen Sie das update Ziel. Zum Beispiel, um /usr/src zu aktualisieren:

# cd /usr/src
# make update SVN_UPDATE=yes

A.6.4. Weiterführende Informationen

Weitere Informationen über die Verwendung von Subversion finden Sie im Subversion Buch mit dem Namen Versionskontrolle mit Subversion, oder in der Subversion Dokumentation.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.

Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.