A.4. Anonymous CVS

A.4.1. Einführung

Anonymous CVS (oder anoncvs) dient zum Synchronisieren mit entfernten Repositories und steht mit den CVS Werkzeugen, die im FreeBSD Basissystem enthalten sind, zur Verfügung. Benutzer von FreeBSD können damit unter anderem lesende Operationen auf den Anoncvs Servern des FreeBSD Projects durchführen, ohne über besondere Berechtigungen zu verfügen. Um es zu benutzen, setzen Sie einfach die CVSROOT Umgebungsvariable auf einen Anoncvs Server und geben beim Login mit cvs login das Passwort anoncvs an. Danach können Sie mit cvs(1) wie auf jedes lokale Repository (allerdings nur lesend) zugreifen.

Anmerkung: cvs login speichert Passwörter zur Authentifizierung an einem CVS Server in der Datei .cvspass in Ihrem HOME-Verzeichnis. Wenn diese Datei beim ersten Benutzen von cvs login nicht existiert, erhalten Sie vielleicht eine Fehlermeldung. In diesem Fall legen Sie einfach eine leere .cvspass Datei an und melden sich erneut an.

CVSup und Anoncvs bieten dieselbe Funktionalität, die folgenden Kriterien helfen Ihnen zu entscheiden, welche Methode Sie benutzen sollen. CVSup geht wesentlich effizienter mit Netzwerk-Ressourcen um und ist auch technisch ausgereifter. Allerdings müssen Sie zuerst einen speziellen Client installieren und konfigurieren, bevor Sie CVSup benutzen können. Weiterhin können Sie mit CVSup nur relativ große Teile der Quellen, die Sammlungen genannt werden, synchronisieren.

Im Gegensatz dazu können Sie mit Anoncvs jede beliebige Datei oder indem Sie einfach den CVS Namen des Moduls angeben, ein beliebiges Programm, wie ls oder grep, bearbeiten. Natürlich können Sie mit Anoncvs nur lesend auf ein CVS Repository zugreifen. Wenn Sie lokal mit dem FreeBSD-Repository entwickeln wollen, dann ist CVSup die einzige Wahl.

A.4.2. Benutzen von Anonymous CVS

Setzen Sie einfach die CVSROOT Umgebungsvariable, um cvs(1) das CVS Repository eines FreeBSD Anoncvs-Servers bekannt zu geben. Zurzeit stehen folgende Server zur Verfügung:

Mit CVS können Sie praktisch jede Version von FreeBSD, die schon einmal existiert hat (oder in manchen Fällen existieren wird) auschecken. Sie sollten daher damit vertraut sein, wie Sie mit Tags unter cvs(1) arbeiten (die -r Option). Zudem müssen Sie die Namen der Tags im FreeBSD-Repository kennen.

Es gibt zwei verschiedene Tags[1]: Tags, die Revisionen bezeichnen und Tags, die Zweige bezeichnen. Die Ersten sind statisch und fest an eine Revision gebunden. Ein Tag, das einen Zweig bezeichnet, bezieht sich dagegen zu einem gegebenen Zeitpunkt immer auf die aktuellste Revision. Da ein Tag eines Zweiges nicht an eine bestimmte Revision gebunden ist, kann sich dessen Bedeutung von heute auf morgen ändern.

In Abschnitt A.7 finden Sie eine Liste der gültigen Tags. Beachten Sie bitte, dass keines der Tags auf die Ports-Sammlung anwendbar ist, da diese nicht über Zweige verfügt.

Wenn Sie ein Tag eines Zweiges verwenden, erhalten Sie die aktuellsten Dateien dieses Entwicklungszweiges. Wenn Sie eine frühere Revision erhalten möchten, können Sie zum Beispiel einen Zeitpunkt mit der -D Option angeben. Weitere Informationen dazu entnehmen Sie bitte cvs(1).

A.4.3. Beispiele

Im Folgenden finden Sie einige Beispiele für den Umgang mit Anonymous CVS. Sie sollten sich aber die Manualpage von cvs(1) sorgfältig durchlesen, bevor Sie anfangen.

Beispiel A-1. ls(1) von -CURRENT auschecken

% setenv CVSROOT :pserver:[email protected]:/home/ncvs
% cvs login
Wenn Sie dazu aufgefordert werden, benutzen Sie ein beliebiges “Passwort”.
% cvs co ls
	 

Beispiel A-2. Den src/-Baum über SSH auschecken

% cvs -d [email protected]:/home/ncvs co src
The authenticity of host 'anoncvs1.freebsd.org (216.87.78.137)' can't be established.
DSA key fingerprint is 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hosts.

Beispiel A-3. ls(1) aus dem 8-STABLE-Zweig auschecken

% setenv CVSROOT :pserver:[email protected]:/home/ncvs
% cvs login
Wenn Sie dazu aufgefordert werden, benutzen Sie ein beliebiges “Passwort”.
% cvs co -rRELENG_8 ls
	 

Beispiel A-4. Änderungen in ls(1) zwischen 5.3 RELEASE und 5.4 RELEASE (als unified diff)

% setenv CVSROOT :pserver:[email protected]:/home/ncvs
% cvs login
Wenn Sie dazu aufgefordert werden, benutzen Sie ein beliebiges “Passwort”.
% cvs rdiff -u -rRELENG_8_0_0_RELEASE -rRELENG_8_1_0_RELEASE ls
	 

Beispiel A-5. Gültige Modulnamen herausfinden

% setenv CVSROOT :pserver:[email protected]:/home/ncvs
% cvs login
Wenn Sie dazu aufgefordert werden, benutzen Sie ein beliebiges “Passwort”.
% cvs co modules
% more modules/modules
	 

A.4.4. Weitere Ressourcen

Die folgenden Ressourcen sind nützlich, um den Umgang mit CVS zu lernen:

Fußnoten

[1]

Tags sind symbolische Namen, die im Repository vergeben werden.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <[email protected]>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <[email protected]>.