Az anonim CVS (vagy más néven anoncvs) a FreeBSD-hez mellékelt CVS-es segédprogramok által nyújtott olyan lehetőség, amivel távoli CVS repositorykkal tudunk szinkronizálni. Több más dolog mellett lehetővé teszi a FreeBSD felhasználói számára, hogy kiemelt jogosultságok nélkül képesek legyenek olvasással kapcsolatos CVS műveleteket végrehajtani a FreeBSD Projekt hivatalos anoncvs szerverein. A használatához egyszerűen csak a kiválasztott anoncvs szervert kell beállítani a CVSROOT környezeti változó értékének, ahol aztán a cvs login parancsnak a szerver által ismert “anoncvs” jelszót kell megadni. Ezután a cvs(1) paranccsal a többi CVS szerverhez hasonlóan lehetőségünk nyílik hozzáférni.
Megjegyzés: A cvs login parancs a bejelentkezésekhez szükséges jelszavakat a HOME könyvtárunkban levő .cvspass állományban tárolja. Ha ez az állomány nem létezik, akkor a cvs login első használatakor hibát kapunk. Ilyenkor csak hozzunk létre egy üres .cvspass állományt, majd próbálkozzunk újra.
Habár azt mondhatnánk, hogy a CVSup és az anoncvs lényegében egyazon feladatot oldják meg, mind a két esetben léteznek olyan kompromisszumok, amelyek befolyásolhatják a felhasználó választását a két szinkronizációs módszer között. Dióhéjban ezt úgy tudnánk összefoglalni, hogy a CVSup a hálózati erőforrásokat hatékonyabban kihasználja és kettejük közül ez a fejlettebb, azonban ennek meg kell fizetnünk az árát. A CVSup használatához először ugyanis telepítenünk kell és be kell állítanunk egy speciális klienst, illetve az adatokat a CVSup által gyűjteményeknek (collection) nevezett, viszonylag nagy méretű egyeségekben érhetjük el.
Ezzel szemben az anoncvs használata során a megfelelő CVS modul nevének felhasználásával tetszőlegesen megvizsgálhatunk önálló állományokat vagy akár programokat (mint az ls vagy a grep). Természetesen az anoncvs segítségével csupán az olvasást igénylő CVS műveleteket végezhetjük el, ezért ha a FreeBSD Projekt keretein belül fejleszteni is szeretnénk, akkor inkább érdemes a CVSup alkalmazást választani.
A cvs(1) parancsot nagyon könnyű beállítani az anonim CVS repositoryk használatához, hiszen mindössze annyit kell tennünk, hogy a CVSROOT környezeti változó értékének megadjuk a FreeBSD Projekt valamelyik anoncvs szerverét. Ezen sorok írásának pillanatában a következő szerverek érhetőek el:
Franciaország: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver módban a jelszó “anoncvs”, az SSH pedig nincs jelszó)
Tajvan: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (pserver módban a cvs login használatával tetszőleges jelszó megadható, az SSH esetén pedig nincs jelszó)
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
Egyesült Államok: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (csak SSH v2 — nincs jelszó)
SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub
Mivel a CVS használatával
“kikérhetjük” (check out)
tulajdonképpen a FreeBSD forrásainak
akármelyik eddigi (vagy majd ezután
keletkező) változatát, érdemes
megismerkednünk a cvs(1) által alkalmazott
revízió (revision) (az -r
opcióval állítható)
fogalmával és a FreeBSD Projekt repositoryjain
belül engedélyezett
értékeivel.
Címkéket (tag) két esetben használhatunk: a revíziók és az ágak esetén. A revíziós címkék mindig egy adott revízióra hivatkoznak, ami állandóan ugyanazt jelenti. Ezzel szemben az ágak címkéi a fejlesztés adott irányú menetének az adott pillanatban legfrissebb revízióját hivatkozzák. Mivel az ágak címkéi nem egy adott revízióra vonatkoznak, ezért elmondhatjuk róluk, hogy naponta változik a jelentésük.
Az A.7 Szakasz tartalmazza a felhasználók számára fontos revíziós címkéket. Ezek azonban nem igazak a Portgyűjteményre, mivel a Portgyűjteménynek nincs egyszerre több fejlesztési iránya.
Egy ág címkéjének
megadásával általában az adott
irányhoz tartozó állományok
legfrissebb változatát kapjuk meg. Ha viszont
az állományok egy korábbi
változatára lenne szükségünk,
akkor a -D dátum
opció
megadásával meg tudjuk adni annak
időpontját. Erről részletesebben a
cvs(1) man oldalán olvashatunk.
Habár a továbbhaladáshoz mindenképpen javasoljuk a cvs(1) man oldalának részletes áttanulmányozását, mutatunk néhány gyors példát az anonim CVS használatának tömör illusztrálására:
Példa A-1. Valami (az ls(1)) kikérése a -CURRENT ágból
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
“Jelszóként” ezután bármit megadhatunk.
% cvs co ls
Példa A-2. Az src/ fa kikérése SSH-n keresztül
% 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.
Példa A-3. Az ls(1) 6-STABLE ágban szereplő változatának kikérése
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Amikor kéri, “jelszóként” bármit megadhatunk. % cvs co -rRELENG_6 ls
Példa A-4. Az ls(1) változásainak (Unified Diff formátumú) listázása
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Itt “jelszóként” bármit megadhatunk. % cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls
A következő helyeken találhatunk még hasznos információkat a CVS használatáról:
A CVS bemutatása (forrás: Kaliforna Állami Műszaki Egyetem).
A CVS honlapja, a CVS fejlesztésével és alkalmazásával foglalkozó közösség oldala.
A CVSweb a FreeBSD Projekt által használt CVS rendszerének webes felülete.
Ha kérdése van a FreeBSD-vel kapcsolatban, a következő
címre írhat (angolul): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése,
kérjük erre a címre írjon: <gabor@FreeBSD.org>.