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.
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.
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
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.8, “CVS labels” 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.
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.
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.
%
setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
%
cvs login
Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”.%
cvs co ls
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.
%
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
%
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
%
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
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.
All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.