Seit Juli 2012 nutzt FreeBSD ausschließlich Subversion als Versionskontrollsystem zur Speicherung des gesamten FreeBSD Quellcodes, der Dokumentation und der Ports-Sammlung.
Subversion ist hauptsächlich
ein Werkzeug für Entwickler. Die meisten Benutzer
bevorzugen freebsd-update (Abschnitt 23.2, „FreeBSD-Update“) um
das FreeBSD Basissystem zu aktualisieren, und
portsnap (Abschnitt 4.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.
Die Installation von security/ca_root_nss erlaubt es Subversion die Identität des HTTPS-Repository-Servers zu überprüfen. Die SSL Root-Zertifikate können aus der Ports-Sammlung installiert werden:
#cd /usr/ports/security/ca_root_nss#make install clean
Alternativ kann das Paket installiert werden:
#pkg install ca_root_nss
Mit svnlite enthält FreeBSD bereits eine
vereinfachte Version von
Subversion. Der Port oder das
Paket ist nur erforderlich, wenn die Python oder Perl
API benötigt wird, oder eine neuere
Version von Subversion gewünscht
ist.
Der einzige Unterschied zum normalen
Subversion ist, dass der Name
des Kommandos svnlite lautet.
Falls svnlite nicht verfügbar ist, oder
die komplette Version von
Subversion benötigt wird, muss das
Programm installiert werden.
Subversion kann aus der Ports-Sammlung installiert werden:
#cd /usr/ports/devel/subversion#make install clean
Subversion kann auch als Paket installiert werden:
#pkg install 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.
Verschieben oder löschen Sie das Zielverzeichnis 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 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 https://svn.FreeBSD.org/repository/branchlcwdir
wobei:
repository eines der
Projekt-Repositories ist: 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/9
(9.x) und
stable/10
(10.x) verwaltet wird.
lcwdir das Zielverzeichnis
ist, in dem die Inhalte des angegebenen Zweiges platziert
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 ü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 updatelcwdir
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
Das FreeBSD Subversion Repository ist:
svn.FreeBSD.org
Dies ist ein öffentlich zugängliches Netzwerk aus Spiegeln, das GeoDNS verwendet, um einen entsprechenden Backend-Server auszuwählen. Um das FreeBSD Subversion Repository über einen Browser anzuzeigen, verwenden Sie http://svnweb.FreeBSD.org/.
HTTPS ist das bevorzugte Protokoll, jedoch muss das Paket security/ca_root_nss installiert werden, um Zertifikate automatisch zu validieren.
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>.