CVS

Linux.fista
Versio hetkellä 2. maaliskuuta 2015 kello 10.18 – tehnyt Pyscowicz (keskustelu | muokkaukset)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

CVS on lyhennys sanoista Concurrent Versioning System. Se on erittäin laajalti käytetty avoimen lähdekoodin versionhallinta- ja yhteistyöohjelma. Useimmat avoimen lähdekoodin projektit tekevät kehitystyötään päivittäen muokatut tiedostot CVS:ään. Sen ansiosta eri puolilla maailmaa työskentelevät kehittäjät voivat pitää itsensä ajan tasalla uusimmissa lähdekooditiedostoissa. Useimmiten CVS-palvelimelta löytyy myös anonyymi tunnus, jolla kuka tahansa voi hakea ohjelman uusimman kehitysversion lähdekoodit itselleen ja kääntää niistä toimivan ohjelman.

Ohjelman CVS-versiolla tarkoitetaan ohjelman sellaista versiota, jota ei ole varsinaisesti julkaistu, vaan joka on haettu suoraan CVS-järjestelmästä. Tätä versiota ei välttämättä ole ollenkaan testattu. Yleensä näin haetaan ohjelman uusin versio.

CVS:stä on kehitetty edelleen SVN eli Subversion, johon avoimen lähdekoodin projektit ovat nykyään pitkälti siirtyneet.

Käyttö

Aluksi on asetettava CVSROOT-ympäristömuuttujaan tiedot CVS-palvelimesta ja käyttäjätunnuksesta:

$ export CVSROOT=":pserver:tunnus@palvelin.fi:/polku/palvelimella"

Tämän jälkeen kirjaudutaan palvelimelle, jolloin cvs kysyy salasanaasi

$ cvs login
Logging in to mtunnus@palvelin.fi)
CVS password: 

Kirjautumisen jälkeen voidaan ladata projektin tiedostot checkout-komennolla:

$ cvs checkout projekti
cvs server: Updating projekti
U projekti/tiedosto.c
cvs server: Updating projekti/hakemisto
U projekti/hakemisto/bar.c

Myöhemmin cvs-puuhun tulleet muutokset voi päivittää itselleen komennolla

$ cvs update
? projekti/Makefile
U projekti/README
M projekti/tiedosto.c

Jos tämä komento ajetaan jossain projektin alihakemistossa, päivitetään vain kyseinen alihakemisto. Tässä cvs listaa muuttuneita tiedostoja, ja rivin alussa oleva merkki kertoo, miten paikallinen tiedosto eroaa cvs-puussa olevasta tiedostosta.

Merkki Selitys
? Paikallinen tiedosto, jota ei löydy CVS:stä
M Paikallista tiedostoa on muutettu
U Tiedosto, johon päivitettiin muutoksia
P Kuten U, mutta muutokset päivitettiin nopeammalla tavalla käyttäen patchia
C Ristiriita paikallisesti muokatun ja cvs-puuhun lisätyn tiedoston välillä

Kun omalle koneelle kopioituja tiedostoja on muokattu, muutokset lähetetään cvs-palvelimelle commmit-komennolla:

$ cvs commit

Jos halutaan päivittää vain tietty tiedosto, annetaan se komennon loppuun parametriksi. Jos tiedostonimeä ei anneta, päivitetään kaikki tiedostot. Lisäksi palvelimelle voidaan tallentaa kommentti muokkauksesta valitsimella -m:

$ cvs commit -m "Uusi versio readmesta, korjattu typoja" README.txt

Uusia tiedostoja (ja hakemistoja) voidaan lisätä cvs:ään komennolla

$ cvs add tiedosto

Ja poistetaan komennolla

$ cvs remove tiedosto

Molempien komentojen jälkeen muutokset on lähetettävä palvelimelle komennolla cvs commit.


Lopuksi uloskirjautuminen onnistuu komennolla

$ cvs logout


Katso myös

Aiheesta muualla