FreeBSD handboek
Terug | Bijlage A. FreeBSD verkrijgen | Volgende

# A.4. Anonieme CVS

## A.4.1. Inleiding

Anonieme CVS (of ook wel bekend als anoncvs) is een functie die beschikbaar is met de hulpprogramma's die bij FreeBSD zitten om te synchroniseren met een elders aanwezig CVS depot. Het staat gebruikers van FreeBSD onder andere toe om zonder bijzondere rechten alleen-lezen operaties uit te voeren op een van de officiële anoncvs servers van het FreeBSD project. Om het te kunnen gebruiken dient de omgevingsvariabele `CVSROOT` zo ingesteld te worden dat hij wijst naar de gewenste anoncvs server, dient het bekende wachtwoord anoncvs bij het commando `cvs login` opgegeven te worden en kan daarna cvs(1) gebruikt worden om het te benaderen als ieder lokaal aanwezig depot.

> Opmerking: Het commando `cvs login` slaat de wachtwoorden die voor aanmelden bij de CVS server op in een bestand met de naam `.cvspass` in de map `HOME`. Als dit bestand niet bestaat, is het mogelijk dat er een foutmelding wordt gegeven als `cvs login` de eerste keer wordt gebruikt. Dat kan opgelost worden door een leeg bestand `.cvspass` te maken en dan opnieuw aan te melden.

Hoewel de diensten CVSup en anoncvs beiden vrijwel dezelfde functie invullen, zijn er redenen die de keuze voor de synchronisatiemethode beïnvloeden. In een notendop is CVSup veel efficiënter in het gebruik van netwerkbronnen en is het de meest geavanceerde van de twee, maar daar staat iets tegenover. Voor het gebruik van CVSup moet eerst een speciale client geïnstalleerd en ingesteld worden voordat er bits kunnen gaan stromen en dat kan dan alleen in de redelijk grote brokken die in CVSup collections heten.

Anoncvs kan daarentegen gebruikt worden om alles te bekijken van een individueel bestand tot aan een specifiek programma (als `ls` of `grep`) door aan de naam van de CVS module te refereren. Ook anoncvs is alleen geschikt voor alleen-lezen operaties op het CVS depot, dus als het de bedoeling is om lokaal ontwikkelwerk en hetzelfde depot met delen uit het FreeBSD project te combineren, dan biedt alleen CVSup daar een oplossing voor.

## A.4.2. Anonieme CVS gebruiken

Het instellen van cvs(1) om gebruik te maken van een Anoniem CVS depot is een kwestie van het instellen van de omgevingsvariabele `CVSROOT` op een van de anoncvs servers van het FreeBSD project. Op het moment van schrijven zijn de volgende servers beschikbaar:

- Frankrijk: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (Gebruik `cvs login` voor pserver-modus en voer het wachtwoord anoncvs in wanneer het gevraagd wordt. Voor ssh is geen wachtwoord nodig.)

- Taiwan: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (Gebruik `cvs login` voor pserver-modus en voer elk willekeurig wachtwoord in wanneer het gevraagd wordt. Voor ssh is geen wachtwoord nodig.)

      SSH2 HostKey: 1024 02:ed:1b:17:d6:97:2b:58:5e:5c:e2:da:3b:89:88:26 /etc/ssh/ssh_host_rsa_key.pub
      SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub

- VS: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (Gebruik ssh versie 2 voor ssh, een wachtwoord is niet nodig.)

      SSH2 HostKey: 2048 4d:59:19:7b:ea:9b:76:0b:ca:ee:da:26:e2:3a:83:b8 ssh_host_dsa_key.pub

Omdat met CVS vrijwel iedere versie die ooit beschikbaar is geweest uitgecheckt kan worden, is het van belang op de hoogte te zijn van de cvs(1) vlag voor revisie (`-r`) en welke waarden zie zoal kan aannemen in het FreeBSD Project depot.

Er zijn twee soorten labels (tags): revisielabels en taklabels (branch). Een revisielabel refereert aan een specifieke revisie. De betekenis blijft van dag tot dag gelijk. Aan de andere kant refereert een taklabel aan de laatste revisie in een bepaalde ontwikkellijn op een bepaald moment. Omdat een taklabel niet refereert aan een specifieke revisie, kan die morgen anders zijn dan vandaag.

Paragraaf A.7 bevat revisielabels waar gebruikers in geïnteresseerd kunnen zijn. Nogmaals: deze zijn allemaal niet geldig voor de Portscollectie omdat de Portscollectie geen meerdere ontwikkel takken kent.

Als een specifiek taklabel wordt aangegeven, worden als alles goed gaat, de laatste revisies uit een bepaalde ontwikkellijn ontvangen. Als er een oudere versie opgehaald moet worden, kan dat door met de vlag `-D datum` een datum aan te geven. In cvs(1) staan meer details.

## A.4.3. Voorbeelden

Hoewel het sterk wordt aangeraden eerst de hulppagina's voor cvs(1) grondig door te lezen, volgen hier een aantal snelle voorbeelden die feitelijk aangeven hoe Anonieme CVS gebruikt kan worden.

Voorbeeld A-1. SSH gebruiken om de `src/` tree uit te checken:

    % cvs -d anoncvs@anoncvs1.FreeBSD.org:/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.

Voorbeeld A-2. Iets uitchecken uit -CURRENT (ls(1)):

    % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
    % cvs login
    Op de prompt, voer een willekeurig wachtwoord in wachtwoord.
    % cvs co ls

Voorbeeld A-3. SSH gebruiken om de `src/` structuur uit te checken:

    % cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src
    The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established.
    DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts.

Voorbeeld A-4. De versie van ls(1) in de 8-STABLE tak uitchecken:

    % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
    % cvs login
    Op de prompt, voer een willekeurig wachtwoord in wachtwoord.
    % cvs co -rRELENG_8 ls

Voorbeeld A-5. Een lijst wijzigingen maken (als unified diffs) voor ls(1)

    % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
    % cvs login
    Op de prompt, voer een willekeurig wachtwoord in wachtwoord.
    % cvs rdiff -u -rRELENG_8_0_0_RELEASE -rRELENG_8_1_0_RELEASE ls

Voorbeeld A-6. Uitzoeken welke modulenamen gebruikt kunnen worden:

    % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
    % cvs login
    Op de prompt, voer een willekeurig wachtwoord in wachtwoord.
    % cvs co modules
    % more modules/modules

## A.4.4. Andere bronnen

De volgende bronnen kunnen bijdragen aan een beter begrip van CVS:

- CVS Tutorial van California Polytechnic State University.

- CVS Home, de CVS gemeenschap voor ontwikkeling en ondersteuning.

- CVSweb is de FreeBSD Project webinterface voor CVS.

Terug | Begin | Volgende
BitTorrent | Omhoog | CTM gebruiken