A.4. Benutzen von Subversion

A.4.1. Einführung

Seit Juli 2012 nutzt FreeBSD Subversion 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 (Abschnitt 24.2, „FreeBSD-Update“) benutzen um das FreeBSD Basissystem zu aktualisieren, und portsnap (Abschnitt 5.5, „Benutzen der Ports-Sammlung“) um die FreeBSD Ports-Sammlung aktuell zu halten.

Dieser Abschnitt zeigt, wie Subversion unter FreeBSD installiert wird und wie Sie damit eine lokale Kopie des FreeBSD Repositories erstellen. Weitere Informationen über die Benutzung von Subversion sind ebenfalls enthalten.

A.4.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 install devel/subversion

A.4.3. Ausführen von Subversion

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

Warnung:

Verschieben oder löschen Sie das lokale Verzeichnis bevor Sie checkout benutzen.

In ein bestehendes nicht-svn Verzeichnis auszuchecken kann zu Konflikten zwischen den vorhandenen Dateien und denen aus dem Respository führen.

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://svn.FreeBSD.org/ports/head/ den Hauptzweig des Port-Repositories auf dem Mirror svn.FreeBSD.org, über das svn-Protokoll.

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), stable/9 (9.x) und stable/10 (10.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://svn.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

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>.