A.4. Anonim CVS

A.4.1. Bevezetés

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.4.2. Az anonim CVS használata

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:

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.

A.4.3. Példák

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 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.

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
	  

Példa A-5. A használható modulok nevének kiderítése

% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
Ezután  “jelszóként” bármit megadhatunk.
% cvs co modules
% more modules/modules
	  

A.4.4. Egyéb helyek

A következő helyeken találhatunk még hasznos információkat a CVS használatáról:

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>.