Etusivu > ATK > GNU/Linux > CVS

CVS

Mikä on CVS?

CVS on rinnakkainen versionhallintajärjestelmä, jonka avulla eri käyttäjät voivat jakaa ja muokata tiedostojen eri versioita.

CVS:n asentaminen

Debian GNU/Linuxissa CVS:n asentaminen onnistuu yksinkertaisesti komennolla

apt-get install cvs

CVS:stä on saatavilla asennuspaketteja muillekin Linux-distribuutioille. CVS:n lähdekoodi löytyy osoitteesta www.cvshome.org.

CVS:n käyttö

CVS-arkiston sijainti

CVS tallettaa tiedostot arkistoon (engl. repository), jonka sijainti täytyy kertoa cvs-komentorivityökalulle. Arkiston sijainti voidaan antaa komentoriviparametrilla -d tai tallettaa ympäristömuuttujaan CVSROOT.

CVS:ää voi käyttää tietoturvallisen ssh-yhteyden yli, jolloin CVSROOT asetetaan seuraavasti:

$ CVS_RSH=ssh; export CVS_RSH
$ CVSROOT=:ext:user@host:/var/lib/cvs

Ylläolevassa esimerkissä käyttäjätunnus on user ja koneen nimi host. CVS-arkisto sijaitsee hakemistossa /var/lib/cvs.

Uuden arkiston perustaminen

Uusi arkisto perustetaan seuraavalla komennolla:

$ cd projekti
$ cvs import -m "Uusi projekti" projekti projekti start

Ylläolevassa esimerkissä arkistoon laitettavat tiedostot sijaitsevat hakemistossa projekti.

Tiedostojen hakeminen arkistosta

Tiedostot haetaan arkistosta paikalliseen hakemistoon seuraavalla komennolla:

$ cvs checkout projekti

Muutosten kommittointi

Kun tiedoston muokkaus on valmis, ja tiedoston uusi versio halutaan arkistoon muiden saataville, annetaan seuraava komento:

$ cvs commit tiedosto.txt

Uuden tiedoston lisäys

Uuden tiedoston lisääminen arkistoon tapahtuu seuraavasti:

$ cvs add tiedosto.txt

Jos tiedosto sisältää muuta kuin tekstiä, se on syytä lisätä binäärimuodossa (komentorivivipu -kb), jolloin CVS ei sotke tiedoston sisältöä yrittämällä yhdistää tiedoston eri versioita keskenään:

$ cvs add -kb kuva.jpg

Tiedoston poistaminen

Tiedoston poistaminen tapahtuu poistamalla tiedosto ensin tiedostojärjestelmästä ja sitten arkistosta:

$ rm tiedosto.txt
$ cvs remove tiedosto.txt

Päivitysten haku arkistosta

Arkistosta saa haettua tiedostojen uusimmat versiot seuraavalla komennolla:

$ cvs update projekti
U projekti/foo.c
C projekti/bar.c
? projekti/new.c

Yllä tiedostosta foo.c on haettu uusi versio, tiedostossa bar.c on konflikteja ja new.c on uusi tiedosto.

Konfliktit tarkoittavat, että paikalliseen tiedostoon bar.c tehdyt muutokset eivät sovi yhteen arkistossa olleeseen tiedostoon bar.c tehtyihin muutoksiin. CVS merkitsee konfliktit tiedostossa bar.c seuraavasti:

<<<<<<<<< 1.2
junarata
========= 1.3
leluauto
>>>>>>>>>

Tiedosto bar.c täytyy muokata halutun mukaiseksi ja poistaa siitä merkinnät '<<<', '===' ja '>>>' ennen kuin se voidaan kommittoida.

Muutosten katselu

Seuraavalla komennolla voidaan tarkastella, miten tiedosto eroaa arkistossa olevasta tiedostosta:

$ cvs diff tiedosto.c

Lisätietoja

Sivun viimeisin muutos: "2006-05-19 13:53:58 mtreinik"