Bevezető a CVS-hezBevezető a CVS-hez

A CVS akkor felel meg leginkább szinkronizálásra, ha az egyedi fájlok gyakran kerülnek módosításra, és olyan fájlformátumban kerülnek tárolásra, mint például ASCII szöveg vagy program forrásszöveg. A CVS más formátú adatok (például JPEG-fájlok) szinkronizálására is használható, de ez nagyon sok adatot eredményez, mivel a fájl minden verziója állandó jelleggel tárolásra kerül a CVS kiszolgálón. Ilyen esetekben a CVS legtöbb funkciója nem használható. A CVS csak akkor használható fájlok szinkronizálásához, ha az összes munkaállomás el tudja érni ugyanazt a kiszolgálót.

CVS-kiszolgáló beállításaCVS-kiszolgáló beállítása

A kiszolgáló az a gép, amelyen az összes érvényes fájl megtalálható, a fájlok legújabb változatát is beleértve. Bármelyik állandó munkaállomás használható kiszolgálóként. Ha lehetséges, akkor a CVS-adattár adatait érdemes belevenni a szokásos biztonsági mentésekbe.

CVS-kiszolgáló beállításakor jó ötlet a felhasználók számára SSH-n keresztüli hozzáférést biztosítani a kiszolgálóhoz. Ha a felhasználó neve a kiszolgálón tux és a CVS szoftver telepítve van a kiszolgálón és a kiszolgálón is, akkor az alábbi környezeti változókat kell beállítani kliensoldalon:



CVS_RSH=ssh CVSROOT=tux@server:/serverdir

A CVS-kiszolgáló kliensoldalról a cvs init parancs segítségével inicializálható. Ezt csak egyszer kell végrehajtani.

Végül a szinkronizációhoz hozzá kell rendelni egy nevet. A kliensen válasszon ki vagy hozzon létre egy könyvtárat kizárólagosan a CVS segítségével kezelendő fájlok tárolásához (a könyvtár üres is lehet). A könyvtár neve a szinkronizáció neve is. Ebben a példában a könyvtár neve synchome. Lépjen át ebbe a könyvtárba és adja ki az alábbi parancsot a szinkronizációs név synchome értékre állításához:



cvs import synchome tux wilber

Számos CVS-parancshoz szükség van megjegyzésekre. Erre a célra a CVS elindít egy szerkesztőt (a $EDITOR környezeti változóban megadott szerkesztő, vagy ha nincs megadva, akkor a vi). A szerkesztő meghívása elkerülhető, ha a parancssorban előre magadja a megjegyzést a következő példához hasonló módon:



cvs import -m 'this is a test' synchome tux wilber

A CVS használataA CVS használata

A szinkronizációs adattár most már a cvs co synchome paranccsal az összes gépről kiiktatható. Ez létrehoz egy új synchome alkönyvtárat a kliensen. A módosítások elküldéséhez a kiszolgálóra lépjen át a synchome könyvtárba (vagy ennek egyik alkönyvtárába) és adja ki a cvs commit parancsot.

Alapértelmezés szerint az összes fájl átküldésre kerül a kiszolgálóra (az alkönyvtárakkal együtt). Egyedi fájlok vagy könyvtárak átküldése a következő módon adható meg: cvs commit fájl1 könyvtár1. Ha új fájlokat és könyvtárakat szeretne hozzáadni az adattárhoz, akkor azokra a kiszolgálóra küldés előtt egy ehhez hasonló parancsot kell kiadni: cvs add fájl1 könyvtár1. Ezután az újonnan hozzáadott állományok a cvs commit fájl1 könyvtár1 parancs segítségével átküldhetők.

Ha másik munkaállomásra lép át, akkor iktassa ki a szinkronizációs adattárat, ha ez egy korábbi munkamenetben még nem történt meg ugyanazon a munkaállomáson.

A cvs update parancs segítségével indítsa el a szinkronizálást a kiszolgálóval. Az alábbi módon frissítse az egyedi fájlokat vagy könyvtárakat: cvs update fájl1 könyvtár1. Az aktuális fájlok és a kiszolgálón tároltak közötti különbségek megjelenítéséhez használja a cvs diff vagy cvs diff fájl1 könyvtár1 parancsot. A cvs -nq update parancs segítségével tekintse meg, hogy a frissítés mely fájlokat érinti.

A frissítés során például ilyen állapotszimbólumokkal találkozhat:

U

A helyi változat frissítésre került. Ez a kiszolgálón meglévő és a helyi rendszerről hiányzó összes fájlt érinti.

M

A helyi változat módosításra került. Ha történtek módosítások a kiszolgálón, akkor az eltérések a helyi változatban összefésülhetők voltak.

P

A helyi változat kijavításra került a kiszolgálón lévő változattal.

C

A helyi fájl ütközött az adattárban lévő aktuális változattal.

?

A fájl nem létezik a CVS-ben.

Az M egy helyileg módosított fájlt jelöl. Küldje el a helyi másolatot a kiszolgálónak, vagy távolítsa el a helyi fájlt és futtassa újra a frissítést. Ebben az esetben a hiányzó fájl lekérésre kerül a kiszolgálóról. Ha elküld egy helyileg módosított fájlt, amely ugyanabban a sorban módosult és elküldésre került, akkor ütközés léphet fel, amelyet a C jelöl.

Ebben az esetben tekintse meg az összeütközésjeleket (»> és «<) a fájlban, és döntsön a két verzió között. Mivel ez elég kellemetlen feladat, lehet, hogy inkább le kíván mondani a módosításokról. Ilyenkor törölje le a helyi fájlokat, és adja ki a cvs up parancsot az aktuális verzió lekéréséhez a kiszolgálóról.

További információTovábbi információ

Ez a fejezet csak egy rövid ismertetést tartalmaz a CVS számos lehetőségéről. Részletesebb dokumentációt a következő címeken talál: