# &cervisia; käsiraamat

## Alustamine

### Hoidla kasutamine

Selles osas eeldame, et kasutad &CVS;i ainult kliendina. See tähendab, et keegi (usutavasti &CVS; hoidla administraator) on andnud sulle serveril konto ning sinu töö on teha hoidla moodulitest väljavõte ja nendega töötada.

&CVS; toetab mitut hoidla kasutamise viisi, mida võib jagada järgmiselt:

Kohalik

- Hoidla aadress võib olla näiteks `/home/cvs` ning see kujutab endast tavalist arvutil kättesaadavat kataloogi. See võib küll ka füüsiliselt asuda näiteks NFS abil ühendataval kettal, kuid see ei ole õigupoolest oluline. Kui kasutad tihti teatud kohalikku hoidlat, tuleb see ka &cervisia;le teatavaks teha.

  ### Kohaliku hoidla lisamine

  1. Ava hoidlate dialoog menüükäsuga Hoidla Hoidlad....

  2. Vajuta nuppu Lisa....

  3. Sisesta ilmuvasse dialoogi hoidla kohta käivad detailid.

  4. Kui oled valmis, klõpsa nuppu OK.

  Kui nüüd edaspidi kasutad &cervisia;t uue mooduli väljavõtte tegemiseks, näitab &cervisia; sulle hoidlaid, mis on sellisel moel lisatud.

rsh

- Hoidla nimi võib olla näiteks `:ext:bernd@cvs.cervisia.sourceforge.net:/cvsroot/cervisia`.

  See meetod nõuab, et sul oleks konto serveris (antud juhul siis `cvs.sourceforge.net`) ja et sa kasutaksid suhtlemiseks kaugshelli. Vaikimisi pruugib &CVS; ↱-d, kuid ↱ on juba ammu tunnistatud ebaturvaliseks ja selle asemele on üldjuhul astunud &ssh;.

  Kui kasutad &ssh;-d, pead keskkonnamuutja `CVS_RSH` määrama `cvs` klienti kasutades &ssh;-le. &cervisia; toetab seda võimalust.

  Ava taas hoidlate dialoog ja klõpsa nuppu Lisa.... Sisesta hoidla nimi esimesele väljale ning kaugshell (⪚ &ssh;) teisele väljale. Kui klõpsad nüüd nuppu OK, jätab &cervisia; seadistuse meelde.

  Arvesta, et &cervisia; ei suuda vastata serveri võimalikule paroolinõudele. Kontrolli, et sisselogimine toimiks ilma parooli nõudmata. Puhta ↱ korral saab seda näiteks teha usaldusväärsete masinate nimekirjaga faili `$`HOME`/.rhosts` luues (vaata täpsemat infot ↱ manuaalileheküljelt).

  &ssh; korral tuleb selleks kopeerida serverile oma avalik võti `$`HOME`/.ssh/identity.pub`. Sellisel juhul ei tohi võti olla krüptitud paroolifraasiga (vaata täpsemat infot &ssh; manuaalileheküljelt ja &CVS;/SSH KKK-st SourceForge'is). Kui sa ei ole päris kindel, küsi nõu oma süsteemiadministraatorilt.

pserver

- Hoidla nimeks võib olla näiteks `:pserver:gehrmab@cvs.kde.org:/home/kde`

  See meetod võtab serveriga ühendust erilise suhteliselt nõrga autentimisega protokolli vahendusel (`pserver` tähendabki parooliga autentimist). Enne sellise serveri kasutamist tuleb end sellele sisse logida. Et &cervisia; seda ise ei toeta, anna käsureal korraldus

      %cvs -d :pserver:joe@cvs.kde.org:/home/kde login

  (asenda mõistagi oma hoidlaga). &CVS; küsib nüüd parooli ja võtab serveriga ühendust. Kui parool on korras, lisatakse hoidla nimi koos (kergelt moonutatud) parooliga faili `$`HOME`/.cvspass`. Kui &CVS; hoidlaga nüüd ühendust võtab, saadab ta vaikimisi parooli serverile, nii et sa ei pea enam selle pärast ise muret tundma. Et igaüks, kes sinu parooli teab, võib hoidlas sinu nime all tegutseda (ja isegi suurt kahju korda saata), tuleks fail `$`HOME`/.cvspass` hoida salajase ja teistele mitteloetavana.

### Mooduli import hoidlasse

Selles osas vaatame, kuidas uut projekti &CVS; hoidlasse lülitada. Kui soovid kõigest töötada olemasoleva projektiga, mis juba on hoidlas, võid selle osa vahele jätta.

#### &cervisia; importimise dialoog

&cervisia; importimise dialoog

screenshot-import näitab dialoogi, mis aitab importida projekti moodulina. Kui oled väljad täitnud ja klõpsanud nuppu OK, antakse järgmine &CVS; käsk:

    cvs -d hoidla import -m "" moodul tootja_silt väljalaske_silt

- &CVS; hoidla nimi, tuntud ka kui $`CVSROOT`. Sul peab olema selles kirjutamisõigus ja hoidla peab olema korrektselt initsialiseeritud. Kui hoidlat ei ole veel olemas, initsialiseeri see käsuga ``cvs` `-d` `hoidla` `init``.

  Kui tegemist on kaughoidlaga, kontrolli, et autentimine toimib (täpsemat infot annab accessing-repository).

- Mooduli nimi, millega projekt salvestatakse. Pärast importimist saab projektist just selle nimega väljavõtteid teha. Täpsemat infot annab checkingout. See on ka vastava kataloogi nimi hoidlas.

- Tootja silti kasutatakse traditsiooniliselt allikate jälgimiseks. Kui sul mingit paremat mõtet ei ole, anna siin oma kasutajanimi. Õigupoolest pole eriti tähtis, mida siin sisestad.

- Ka seda silti on traditsiooniliselt kasutatud tarkvara erinevate versioonide importimisel. Kui sa sellega ei tegele, kasuta sõna `start` või stringi `SUVA_1_0`, kus `SUVA` on projekti nimi ja `1.0` imporditava väljalaske versiooni number.

### Töökataloog

See on imporditava projekti ülemkataloog. Import algab sellest kataloogist ning edeneb rekursiivselt allapoole.

### Eiratakse faile

Selle välja täitmisel antakse käsule `cvs import` täiendavalt võti `-I `failinimed``. Seda kirjet tõlgendatakse tühikutega eraldatud nimekirjana, kus seisavad failide nimed, mida tuleb ignoreerida. Üldiselt on mõttekam ja veakindlam viis kontrollida, millised failid hoidlasse lähevad, luua kataloog ainult nende failidega, mida soovid importida, ja siis sellest kataloogist alustadagi. Siiski võib see võti olla kasulik, kui projektis leidub faile, mida &CVS; vaikimisi eirab, nt. failid nimetusega `core`. Sellisel juhul kirjuta väljale ainult märk `!`. See tühistab &CVS;i eiratavate failide skeemi, täpsemalt vaata ignoredfiles.

### Imporditakse binaarfailidena

Selle märkimisel imporditakse kõik failid binaarkujul, st. käsule `cvs import` lisatakse võti `-kb`.

### Mooduli väljavõtte tegemine hoidlast

Enne seda, kui alustada projekti kallal tööd vastavalt versioonide kontrollimise süsteemile, tuleb endale teha töövariandi väljavõte.

#### &cervisia; väljavõtte tegemise dialoog

&cervisia; väljavõtte tegemise dialoog

### Hoidla

&CVS; hoidla nimi, tuntud ka kui ``$CVSROOT``. Kui tegemist on kaughoidlaga, kontrolli, et autentimine töötaks, täpsemat infot annab accessing-repository.

### Moodul

Mooduli nimi, millest väljavõte tehakse. Kui töötad olemasoleva hoidlaga, oled tõenäoliselt saanud nime juba hoidla administraatorilt. Kui hoidlal on olemas fail ``$CVSROOT`/modules`, saab olemasolevate moodulite nimekirja tõmmata klõpsuga nupul Laadi nimekiri.

### Töökataloog

Kataloog, kuhu mooduli väljavõte salvestatakse. Arvesta, et töövariandi ülemkataloog luuakse alati siin antud kataloogi töövariandiga sama nime kandva alamkataloogina.

### Peaaken

Kui käivitad &cervisia; ja avad töövariandi menüükäsuga Fail Ava liivakast..., näed avatud kataloogi hierarhilist vaadet. Vastavalt failide `.cvsignore` seadistustele ei ole näha faile, mida tavaliselt ei soovita hoidlas näha, nt objektifaile. Iga faili korral on näha selle olek. Vaikimisi on see "Tundmatu", sest &cervisia; ei hangi infot enne, kui oled valinud menüüst Fail käsu Värskenda või Olek. Sellisel moel on sul võimalik üht-teist ära teha isegi juhul, kui puudub püsiühendus &CVS; serveriga.

#### &cervisia; peaaken

&cervisia; peaaken

Käsud menüüs Fail rakenduvad üldiselt ainult failidele, mis on parajasti ära märgitud. Märkida saab ka katalooge. Vali seejärel menüüst Fail käsk Värskenda. &cervisia; annab siis korralduse

    cvs update -n failinimed

märgitud failide olekuinfo hankimiseks. Arvesta, et &cervisia; liigub rekursiivselt alamkataloogidesse ainult juhul, kui vastav võimalus menüüs Seadistused on sisse lülitatud. Vastavalt faili staatusele on veerus Olek näha järgmised märked:

- Lokaalselt muudetud - see tähendab, et faili on muudetud võrreldes hoidlas oleva versiooniga.

- Lokaalselt lisatud - see tähendab, et faili ei ole hoidlas, küll aga sinu töökataloogis ja et see on märgitud imporditavaks. Hoidlasse jõuab see siiski alles pärast sinna sissekande tegemist.

- Lokaalselt eemaldatud - see tähendab, et oled märkinud faili eemaldatavaks, kuid see on hoidlas siiski veel alles. Hoidlast eemaldatakse see tegelikult alles pärast sinna sissekande tegemist.

- Vajab värskendamist - seda näeb siis, kui hoidlas on olemas uuem versioon, nt. kui keegi on sellesse mingi muutuse teinud. Tavaliselt valitseb sinus kange kihu seda faili uuendada, et oma töökataloogi ajakohasena hoida.

- Vajab paikamist - sisuliselt on see sama, mis eelmine. Erinevuseks on see, et uuendamise korral saadab &CVS; server kogu faili asemel ainult paiga.

- Vajab ühendamist - annab märku, et vajalik on antud faili töökataloogis eksisteeriva versiooni ühendamine hoidlas oleva versiooniga. See juhtub tavaliselt siis, kui oled faili muutnud ning samal ajal on seda teinud ka keegi teine. Kui valid uuendamise, liidetakse hoidlas olevad muutused sinu faili. Konflikti korral (st. kui keegi on muutnud mõnda rida, mida sinagi oled muutnud, aga teisiti) saab uueks staatuseks "Konflikt".

- Värske - näitab, et fail on samane hoidlas oleva versiooniga.

- Konflikt - seda näidatakse siis, kui failis leidub konfliktimärgiseid. See võib juhtuda näiteks siis, kui oled faili varem värskendanud, kuid konfliktid lahendamata jätnud.

- Pole CVSis - näitab, et faili ei ole registreeritud &CVS; hoidlas. Kui soovid, et see oleks kättesaadav ka teistele, tuleb see hoidlasse lisada. Kui aga mitte, võiksid selle lisada oma faili `.cvsignore`.

Nüüd, kus oled saanud ülevaate CVSi hetkeolekust, võib tekkida soov võtta ette värskendamine. Märgi mõned failid (või ka kataloogipuu juur, mis võrdub kõigi selles kataloogis olevate failide märkimisega). Vali menüüst Fail käsk Värskenda (kuigi tegelikult võiks seda käsku kasutada kohe seanssi alustades). Mõne faili olek võib muutuda. Tavaliselt uuendatakse faile, mille olek oli "Vajab paikamist" või "Vajab värskendamist". Nüüd võivad olekuveergu ilmuda mõningad uued elemendid:

- Värskendatud - näitab, et faili on hoidlast värskendatud.

- Paigatud - näitab, et &CVS; server on saatnud failile paiga ja et see on edukalt lisatud. Kui see hästi ei õnnestunud, sest tekkis konflikt sinu tehtud ja kellegi teise hoidlasse saadetud muudatuste vahel, saab olekuks "Konflikt".

Kindlasti märkad, et vastavalt olekule on ridadel erinev värv. Need on valitud mingil määral peegeldama oleku prioriteetsust. Näiteks konfliktiga fail on märgitud punasega, mis annab märku, et konflikt tuleks lahendada, enne kui failiga edasi tegutseda. Kui kataloogis on palju faile, võib siiski ülevaade kaotsi minna. Täpsema info saamiseks mitte-päris-tavalise olekuga failide kohta klõpsa veerul Olek. Nimekiri sorteeritakse siis vastavalt prioriteedile, nii et kogu oluline info koondub nimekirja esiotsa. Et näha taas tähestiku järgi sorteeritud nimekirja, klõpsa veerul Faili nimi.

## Töö failidega

&cervisia; peaaken võimaldab kasutada vahetult kõiki &CVS;i tavapärseid võimalusi. Käsud rakenduvad tavaliselt mitmele failile korraga - nimelt neile, mida oled parajasti valinud. Kui valik hõlmab ka katalooge, sõltub käsu rakendamise kord menüüs Seadistused määratust. Kui näiteks on sisse lülitatud Seadistused Rekursiivne sissekannete tegemine ja eemaldamine ning sa valid menüükäsu Fail Tee sissekanne..., kusjuures valitud on mõni kataloog, siis tehakse sissekanne kõigist antud kataloogi alla kuuluvatest failidest. Vastasel juhul puudutab käsk vaid tavalisi faile kataloogis endas.

Faili saab hõlpsasti redigeerida, tehes sellel topeltklõpsu või vajutades klahvi Return. See käivitab redaktori, mis on määratud dialoogis Seadistused Cervisia seadistamine..., andes argumendiks faili nime.

### Failide lisamine

Failide lisamine projekti on kaheastmeline toiming. Esmalt tuleb failid &CVS;is registreerida. Selleks märgi &cervisia; peaaknas kõik lisatavad failid. Seejärel vali menüükäsk Fail Lisa hoidlasse. &cervisia; annab nüüd korralduse

    cvs add failinimed

Kui see õnnestub, ilmub lisatavate failide olekuveergu märge "Lisatud hoidlasse".

Et failid ka tegelikult hoidlasse jõuaks, tuleb teha sissekanne. Sellel on üks oluline eelis: failid saab sisse kanda koos muudatustega projekti muudes osades. Nii võivad teised (näiteks sissekandemeilides) hõlpsasti näha, et kõik need muudatused on tehtud korraga.

&CVS; ei ole mõeldud pakkuma korralikku versioonide kontrolli binaarfailidele. Näiteks binaarfailide ühendamisel ei ole üldjuhul mingit mõtet. Pealegi võtab &CVS; sissekande tegemisel vaikimisi ette võtmesõna täiendamise (⪚ stringis `$Revision: 1.6 $`). Binaarfailides võivad sellised asendused faili rikkuda ja muuta täiesti kasutamatuks. Et seda ei juhtuks, tuleb binaarfailid (või ka muud, näiteks PostScript failid) sisse kanda, andes käsureal korralduse

    cvs add -kb failinimed

&cervisia; võimaldab seda teha menüükäsuga Fail Lisa binaarfail...

### Failide eemaldamine

Sarnaselt failide lisamisele on failide eemaldamine kaheastmeline protsess. Esmalt tuleb failid registreerida eemaldatavateks menüükäsuga Fail Eemalda hoidlast, mis annab käsu

    cvs remove -f failinimed

Seejärel tuleb see liivakastis tehtud muudatus sisse kanda, millega võib kaasneda projekti ka muude muutuste tegemine.

Ülaltoodud käsk toimib ainult siis, kui fail on värske. Muidu on tulemuseks veateade. See on üsna arukas: kui oled teinud faili võrreldes hoidlaga muutusi või on muutusi teinud keegi teine, tasuks enne kontrollida, kas need tasub tõesti täielikult unustusehõlma saata.

### Kataloogide lisamine ja eemaldamine

&CVS; käsitleb katalooge põhimõtteliselt täiesti erinevalt tavalistest failidest. Need ei allu versioonide kontrollile, s.t. sul ei ole võimalik määrata, millised kataloogid olid projektis teatud ajahetkel olemas. Lisaks sellele ei saa katalooge otseselt eemaldada, kui sa just neid vahetult hoidlast ei kõrvalda.

&CVS; järgib tava, et kataloog on projekti versioonis "olematu", kui see on tühi. Seda saab teostada võtme `-P` lisamisega käsule `cvs update` ja `cvs checkout`. Selle võimaluse saab kehtestada menüükäsuga Seadistused Värskendamisel eemaldatakse tühjad kataloogid.

Kataloogi saab hoidlasse lisada käsuga

    cvs add kataloogi_nimi

mida saab teostada menüükäsuga Fail Lisa hoidlasse. Arvesta, et erinevalt failide lisamisest ei nõua kataloogi lisamine hilisemat sissekannet.

### Failide sissekandmine

Kui oled oma tööversiooni teinud mitmeid muutusi ja soovid, et ka teised arendajad saaks neid kasutada, tuleb need 'sisse kanda'. Sissekande tegemisega paigutad muudetud failide versioonid uute versioonidena hoidlasse. Kui nüüd mõni teine arendaja võtab ette värskendamise, jõuavad sinu tehtud muudatused tema tööversiooni.

Failide sissekandmiseks vali need &cervisia; peaaknas ja kasuta menüükäsku Fail Tee sissekanne....

#### &cervisia; sissekande tegemise dialoog

Ilmub dialoog, mille ülaosas asub valitud failide nimekiri ja alumises osas muudatuste logiteadete aken. Kui see sind rahuldab, kasutatakse käsku

    cvs commit -m teade failinimed

&cervisia; aitab igati kaasa mõtestatud logiteadete koostamisele. Esiteks saab failide nimekirjas mõnel failil topeltklõpsu tehes või klahvi Return vajutades näha sellesse tehtud muudatusi. Teiseks näidatakse liitkastis varem kasutatud logiteateid. Kolmandaks on dialoog seotud allpool kirjeldatava &cervisia; faili ChangeLog redaktoriga.

Üsna tavaline viga sissekande tegemisel on Up-to-date check failed (värskuse kontroll ebaõnnestus). See näitab, et keegi on hoidlasse pärast sinu viimast värskendamist muudatusi teinud ehk kui tehnilisemalt rääkida, ei ole sinu `BASE`-versioon antud harus mitte kõige uuem. Sellisel juhul keeldub &CVS; sinu muudatusi hoidlasse ühendamast. Lahenduseks on värskendada, lahendada vajadusel konfliktid ja uuesti sissekanne teha. Kui töötad tarkvaraprojekti kallal, tasub mõistagi pärast värskendamist ka kontrollida, kas rakendus ikka töötab, sest lõppeks võib ju sinu ja teiste tehtud muudatuste vahel olla vastuolusid, mis koodi rikuvad.

Teine levinud veateade on Sticky tag 'X' for file 'X' is not a branch. See juhtub siis, kui püüad sisse kanda faili, mille oled varem uuendanud teatud versiooni või sildini käsuga

    %cvs update -r X

(seda saab ⪚ teha menüükäsuga Muud Värskenda silti/kuupäeva...). Sellisel juhul muutub faili silt 'kleepuvaks', s.t edasised värskendamised ei anna tulemuseks haru uusimat versiooni. Kui soovid nüüd harusse sissekannet teha, tuleb enne seda värskendada haru silti.

&cervisia; puhul on üpris lihtne hallata faili ChangeLog, mis ühildub GNU koodijuhistes kirja pandud vorminguga. Selle kasutamiseks vali menüükäsk Fail Lisa ChangeLogi kirje.... Kui liivakasti ülemkataloogis on fail `ChangeLog` olemas, avatakse see ja sul on võimalus seda redigeerida. Selleks lisatakse faili algusesse kirje käesoleva kuupäeva ja sinu kasutajanimega (seda saab kohandada, täpsemalt räägib sellest customize-general). Kui oled töö lõpetanud ja klõpsanud nuppu OK, on järgmisel sissekande tegemise dialoogi avamisel sind ees ootamast logiteade, mis vastab viimati muutuste logisse tehtud muudatustele.

### Konfliktide lahendamine

Konfliktid tekivad siis, kui muudad faili, mida on samal ajal muutnud ka mõni teine arendaja. &CVS; tuvastab konfliktid muudetud faili värskendamisel. &CVS; püüab siis ühendada teise arendaja tehtud muudatused sinu tööversiooni. Ühendamine aga ei õnnestu, kui nii sina kui teine arendaja olete muutnud faili ühesuguseid osi, mispeale &CVS; annab veateate.

Nüüd tuleb sul konfliktid lahendada, enne kui fail sisse kanda. &CVS; keeldub sisse kandmast konfliktidega faile, kuni konfliktid pole lahendatud. Mõistagi on konfliktide lahendamisel jäme ots sinu käes: iga konflikti puhul võid just sina otsustada, milline kahest võimalusest valida.Samuti võid langetada otsuse, et mõlemad variandid ei kõlba kuhugi ning kirjutada kogu protsessi või isegi kogu faili algusest peale uuesti.

&cervisia; peaaknas annab konfliktidega failidest märku kirje "Konflikt" olekuveerus ning punane värv. Konflikte saab lahendada tavapäraselt: tee peaaknas vajalikul failil topeltklõps ja redigeeri faili meelepärases redaktoris. Kuid valida võib ka dialoogi - seda saab teha menüükäsuga Fail Lahenda....

#### &cervisia; lahendamisdialoog

&cervisia; lahendamisdialoog

Dialoogi ülaosas on vasakul näha sinu faili versioon ja paremal faili versioon hoidlas. Erinevused on tähistatud punase värviga. Kahest versioonist allpool võib näha ühendatud versiooni, mis salvestatakse niipea, kui oled klõpsanud nuppu Salvesta.

Erinevusi sisaldavate osade vahel saab liikuda nuppudega << ja >>. Dialoogi allosas keskel on näha, millise osa juures parajasti ollakse. Näiteks `2/8` tähendab, et parajasti on tegemist teise erinevusega kokku kaheksast erinevusest. Seda, milline kahest variandist tuleks lõplikku versiooni jätta, saab otsustada iga osa kohta eraldi. Klõps nupul A valib sinu versiooni, nupp B aga hoidla versiooni.

## Failide info hankimine

### CVS logide lehitsemine

Kui märgid peaaknas faili ja valid menüüst Vaade käsu Näita logifaili, antakse käsk

    cvs log failinimed

ja ilmub dialoog, mis kajastab märgitud faili ajalugu.

#### &cervisia; logi lehitsemise dialoog

A screenshot of &cervisia;'s browse logs dialog

Ajalugu võib vaadata puuna või nimekirjana. Kumb valida, sõltub sinu maitsest ning sellest, milline info sind huvitab. Puu kujutab ülevaadet, mida milline autor erinevates harudes on teinud. Kohtspikrid näitavad vastavaid logiteateid. Nimekiri on loomult lineaarne ega anna seetõttu ühe pilguga hõlmatavat ülevaadet harudest. Teisalt koondub siin rohkem asjakohast infot väiksemale ruumile, nimelt faili iga muutmise aeg ja logiteate algus.

Konkreetse versiooni kohta enama info hankimiseks tuleb sellel klõpsata, olgu siis tegemist nimekirjaga või puuga. Dialoogi keskel asuvad väljad täituvad seejärel infoga, mida tagastab käsk `cvs log`. Sa võid ära märkida ka kaks versiooni, vastavalt 'A' ja 'B', kui soovid korraga näha huvipakkuvaid versioone. Versiooni 'A' saab valida hiire vasaku, 'B' keskmise nupuga. Nimekirjavaates saab liikuda ka kursoriklahvidega. Versioonide 'A' ja 'B' märkimiseks kasuta vastavalt kiirklahve Ctrl A ja Ctrl B.

Klõps nupule Annoteerimine avab dialoogi, kus on näha versiooni 'A' tekst. Iga rea ees on info selle viimase redigeerija ning redigeerimisaja kohta.

Klõps nupul Võrdlemine kutsub välja käsu `cvs diff`, mille tulemuseks on dialoog, mis näitab kõiki erinevusi kahe märgitud versiooni vahel. Selle hõlbustamiseks kasutatakse erinevaid värve tähistamaks lisatud, eemaldatud või muudetud ridade märkimiseks.

### Ajaloo lehitsemine

Kui hoidlas on logimine lubatud, võib &cervisia; näidata teatud sündmuste, näiteks väljavõtete ja sissekannete tegemise, värskendamiste ja väljalasete ajalugu. Vali menüüst Vaade käsk Ajalugu, mispeale &cervisia; annab käsu

    cvs history -e -a

See tõmbab serverilt kogu logifaili, s.t. nimekirja kõigi kasutajate ja kõigi moodulite sündmuste kohta. See fail võib olla päris suur!

Nüüd võid kuupäevade kaupa sorteerituna näha sündmuste nimekirja. Teises veerus näidatakse sündmuse tüüpi:

- Tehtud väljavõte - veerus 'Autor' näidatud kasutaja tegi mooduli väljavõtte

- Silt - kasutaja tarvitas käsku `cvs rtag`. Arvesta, et käsu `cvs tag` (mida teeb &cervisia; käsk Muud Silt/haru...) kasutamist ajaloo andmebaasis ei leidu. Sellel on oma ajaloolised põhjused (täpsemat infot jagab &CVS; KKK).

- Väljalase - kasutaja on mooduli välja lasknud. Tegelikult kasutatakse seda käsku väga harva ning sellel puudub eriline mõte.

- Värskendatud, kustutatud - kasutaja on värskendanud faili, mis on hoidlast kustutatud. Selle tulemusena kustutati fail ka tööversioonist.

- Värskendatud, kopeeritud - kasutaja on faili värskendanud, töökataloogi kopeeriti uus versioon.

- Värskendatud, ühendatud - kasutaja on faili värskendanud, hoidla versioonis olevad muutused ühendati tööversiooni failiga.

- Värskendatud, konflikt - kasutaja on faili värskendanud ning tuvastati konflikt tööversioonis tehtud muudatustega.

- Tehtud sissekanne, muudetud - kasutaja on muudetud faili sisse kandnud.

- Tehtud sissekanne, lisatud - kasutaja on faili lisanud ja sissekande teinud.

- Tehtud sissekanne, eemaldatud - kasutaja on faili eemaldanud ja sissekande teinud.

#### &cervisia; ajaloo dialoog

&cervisia; ajaloo dialoog

Nimekirja saab vastaval veerupäisel klõpsates selle veeru järgi sorteerida. Sorteerimaks ajalookirjeid huvipakkuva teema järgi, saab märkekastidega rakendada mitmesuguseid filtreid:

- Näita sissekannete tegemisi - näitab sissekandeid

- Näita väljavõtete tegemisi - näitab väljavõtteid

- Näita sildistamisi - näitab sildistamisi

- Näita muid sündmusi - näitab sündmusi, mida ülaltoodud võimalused ei hõlma

- Ainult kasutaja - näitab ainult konkreetse kasutajaga seotud sündmusi

- Ainult failinimed - filtreerib failinimed vastavalt regulaaravaldisele

- Ainult kataloogid - filtreerib katalooginimed vastavalt regulaaravaldisele

Regulaaravaldistes saab kasutada järgmisi erimärke:

- `x*`: sobib suvaline arv `x` esinemisi.

- `x+`: sobib üks või enam `x` esinemist.

- `x?`: sobib null või üks `x` esinemist.

- `^`: sobib stringi algus.

- `$`: sobib stringi lõpp.

- `[a-cx-y]`: sobib märgirühm, ⪚ antud juhul a,b,c,x,y.

### Versioonide erinevuste jälgimine

&cervisia; võimaldab mitmel puhul avada akna, mis näitab failiversioonide erinevusi:

- Peaaknas saab valida menüükäsu Vaade Erinevus hoidlast.... See annab käsu `cvs diff` ning näitab erinevusi sinu liivakasti ja viimati värskendatud (tuntud ka kui `BASE`) versiooni vahel. See on eriti kasulik vahetult enne faili sissekandmist, et leida sobiv logiteade.

- Sissekande tegemise dialoogis saab erinevusi lasta näidata faili nime valides ning sellel topeltklõpsu tehes või klahvi Return vajutades. Selle tulemus on sarnane menüükäsu Vaade Erinevus hoidlast... omaga.

- Logifailide lehitsemise dialoogis saab märkida faili kaks versiooni ja lasta näidata nende erinevusi (täpsemalt vaata browsinglogs).

Nagu oodata võibki, ei paiska &cervisia; lihtsalt käsu `diff` väljundit terminaliaknasse, vaid näitab seda graafiliselt, näiteks nagu screenshot-log.

#### &cervisia; võrdlemise dialoog

&cervisia; võrdlemise dialoog

Dialoogis olev tekst kujutab endast veidi paremaks muudetud varianti tekstist, milel annab võrdlemiskäsk võtmega `-u`. Kahes aknas on näha erinevad versioonid, kusjuures read on korraldatud nii, et neid saaks otse võrrelda. See tähendab, et seal, kus teksti on lisatud või kustutatud, on teise akna vasakus servas vastavas kohas näha tühjad read tähistusega `+++++`. Lisaks sellele on näha iga rea number.

Parempoolse akna teises veerus on näha, milline on muudatus olnud. Võimalikud tüübid on `Lisatud`, `Kustutatud` ja `Muudetud`, need read on vastavalt sinised, rohelised ja punased. Dialoogi keskel on kokkusurutult näha värvimärgised ridade kaupa. Nii saab faili muudatustest kiire ülevaate. Kokkusurutud kujundi värviribade asendit saab kasutada ka orienteerumiseks kerimisribade kasutamisel.

Tavaliselt on kerimisribad vasakus ja paremas aknas sünkroonitud, s.t. kui kerid vasakut akent, liigub vastavalt ka parem aken. Seda käitumist saab muuta märkekasti Sünkroonitud kerimisribad abil.

Seda, kuidas kohandada võrdlemisdialoogi, annab teada customize-commands.

### Faili annoteeritud vaate jälgimine

Käsu `cvs annotate` peale pakub &CVS; võimalust rida-realt näha, kes on failis viimati muudatusi teinud. See on kasulik tuvastamaks, kes millise muutuse on sisse viinud või kellele esitada küsimus koodi tehtud muudatuse või sellesse tekkinud vea kohta.

&cervisia; võimaldab seda kasutada, kuid rikastab pakutavat infot omalt pooltki. Annotatsioonivaate saab avada menüükäsuga Vaade Näita annotatsiooni.... Teine võimalus on klõpsa logi lehitsemise dialoogis nuppu Annoteerimine. Milline see dialoog välja näeb, näitab screenshot-annotate.

#### &cervisia; annoteerimisdialoog

&cervisia; sildi uuendamise dialoog

Annotatsioonidialoogi aknas on näha valitud faili viimane versioon. Veerud enne teksti näitavad iga rea puhul viimaseid muudatusi. Esimeses veerus näidatakse versiooninumbrit. Teises veerus on näha selle versiooni autori nimi. Kolmandas versioonis aga näidatakse rea viimase muutmise kuupäeva.

Nii saab juhul, kui mingi rida paistab kahtlasena või kahtlustad, et seal võib peituda viga, kohe teada, kellele selle rea eest vastutus langeb. Lisaks sellele võib aga ka teada saada, miks seda rida muudeti. Selleks vii hiirekursor vastava versiooninumbri kohale, misjärel ilmub kohtspikker logiteate ja muutmise kuupäevaga.

## Kasutamine edasijõudnutele

### Sildi ja haru omistamine

Me puudutame siin ainult sildi ja haru omistamise tehnilist külge. Kui oled lihtsalt hoidla kasutaja, mitte administraator, ei pruugi sellised probleemid sul ette tullagi. Kui aga oled administraator, tuleks esmalt tutvuda sildi omistamisega seotud mittetehniliste küsimustega, et saada arusaam, kui aeganõudev ja vigaderohke võib ühe projekti erinevate harude haldamine olla. Mõningaid lisamaterjale selle kohta pakub käsiraamatu lisa.

Sildi omistamisega tuleb tegemist teha enamasti väljalaske korral, et alati oleks võimalik pöörduda hõlpsasti tagasi projekti sellel hetkel valitsenud olukorra juurde. Silt on tavaliselt ühtlustatud projektinime ja versiooninumbriga. Näiteks &cervisia; 1.0 silt on `CERVISIA_1_0`. &cervisia; kasutab otsustamisel, milline on sobilik silt, &CVS; rangeid reegleid: see peab algama tähega ning sisaldama vaid tähti, numbreid, sidekriipse ja alakriipse.

Tavaliselt omistatakse silt kogu projektile (kuigi &CVS; lubab mõistagi sildi omistada ainult alamprojektile). Selleks vali ülemkataloog ning seejärel menüükäsk Muud Silt/haru.... Sisesta dialoogis sildi nimi, vajuta klahvi Return ja asi ants!

Haru loomine ei ole tegelikult märgatavalt keerulisem: märgista sildi omistamise dialoogis kast Luuakse selle sildiga haru. Olemasolev silt on võimalik ka kustutada, selleks vali peaaknas menüükäsk Muud Eemalda silt.

On mitu võimalust värskendada projekti teatud staatusse:

- Värskendada saab teatud sildini. Vali menüükäsk Muud Värskenda silti/kuupäeva. Sama käsuga saab värskendada teatud haruni. &cervisia; annab sellisel puhul käsu

      cvs update -r silt

- Värskendada saab teatud kuupäevani. See võib olla mõttekas näiteks siis, kui projektis on kahe väljalaske vahelisel ajal tekkinud viga, sa tead, millal see ligikaudu tekkis, ning oletad, mis see võiks olla. Mingi kuupäevani saab minna menüükäsuga Muud Värskenda silti/kuupäeva, märkides dialoogis ära kastiVärskenda kuupäeva. Alloleval väljal võid mitmel moel sisestada kuupäeva. See võib olla näiteks `yyyy-mm-dd`, kus `yyyy` on aasta, `mm` kuu (numbrilisel kujul) ja `dd` päev. Kasutada saab ka mõningaid ingliskeelseid fraase, näiteks `yesterday` (eile) ja `2 weeks ago` (2 nädala eest). Selle võimaluse kasutamisel annab &cervisia; käsu

      cvs update -D kuupäev

- Mõlemad mainitud võimalused muudavad sildi või kuupäeva 'kleepuvaks', s.t. sul ei ole enam võimalik nende failide puhul teha sissekandeid (kui just silt ei ole antud haru silt). Põhiharuga (tuntud ka kui `HEAD`) taasliitumiseks kasuta menüükäsku Muud Värskenda HEAD-harusse. See tähendab käsku

      cvs update -A

#### &cervisia; sildi uuendamise dialoog

&cervisia; sildi uuendamise dialoog

Haru omistamise veel üks aspekt on muudatuste ühendamine harust käesolevasse harru. Kui kavatsed seda teha, vali menüükäsk Muud Ühenda.... Ilmuv dialoog pakub kaks võimalust:

Ühendada kõik harus tehtud muudatused käesolevasse harru. Selleks märgi ära Ühenda harust ja kirjuta haru, millest soovid ühendada. &cervisia; annab seejärel käsu

    cvs update -j haru_loomise_kuupäev

Ühendada ainult haru kahe sildi vahelised muudatused. Seda on vaja siis, kui ühendad mitmel korral samast harust põhiharru. Selleks märgi ära Ühenda siltidevahelised muudatused ning sisesta (õiges järjekorras) kaks silti. See tähendab käsku

    cvs update -j haru_loomise_kuupäev1 -j haru_loomise_kuupäev2

### Jälgijate kasutamine

Jälgija (inglise keeles watch) on &CVS;i tavapärane viis anda hoidla kasutajatele märku, kui faili on muudetud või kui mõni arendaja on hakanud faili redigeerima. Jälgijate kasutamine nõuab faili ``$CVSROOT`/CVSROOT/notify` korrektset seadistamist. Seda siinkohal ei puudutata. Kui vajad rohkem infot, kuidas administraator taolisel korral käituma peaks, loe mõnda lisas soovitatud materjalidest.

&cervisia; tugi jälgijatele koosneb põhiliselt kuuest menüükäsust.

Jälgija lisamiseks ühele või mitmele failile vali menüükäsk Muud Lisa jälgija.... Ilmuvas dialoogis saad määrata, millist tüüpi &CVS;i toega sündmustest märku antakse. Kui näiteks soovid märku saada vaid sissekannete tegemisel, märgi ära Ainult ja Sissekande tegemine. Kui soovid teada saada kõigist märgitud failidega toimuvatest sündmustest, vali Kõik. Valiku kinnitamisel antakse käsk

    cvs watch add -a commit failinimed

või mõne muu sarnase võtmega vastavalt sellele, millise sündmuse valid.

Kui mingid failid enam huvi ei paku, saab neilt jälgija eemaldada. Selleks vali menüükäsk Muud Eemalda jälgija.... Ilmuvas dialoogis on samasugused valikud, nagu jälgija lisamise dialoogis. Valiku kinnitamisel annab &cervisia; käsu

    cvs watch remove failinimed

(võimalik on lisada valitud sündmuste jaoks võti `-a`).

On võimalik hankida ka nimekiri inimeste kohta, kes faile jälgivad. Selleks kasuta menüükäsku Muud Näita jälgijaid. See annab käsu

    cvs watchers failinimed

&CVS;i kõige tavalisema pruukimise korral töötab iga arendaja omaenda liivakastis. Kui ta soovib mõnda faili muuta, avab ta selle oma redaktoris ning asub tööle. Keegi teine ei pruugi tema tööst teada saada, enne kui ta faili hoidlasse sisse kannab.

Mõned arendajate grupid aga eelistavad teistsugust töökorraldust, kus teised saavad sellest, et keegi on asunud mõne failiga tegutsema, teada otsekohe. See on &CVS;is samuti võimalik. Enne kui alustad faili redigeerimist, vali see &cervisia; peaaknas ning kasuta menüükäsku Muud Muuda faile. See annab käsu

    cvs edit failinimed

Ühtlasi saadab see teadaande kõigile, kes on antud failile määranud jälgija `redigeerimine`. Samuti registreeritakse sind faili redigeerijana. Kõigi mingi faili redigeerijate nimekiri on võimalik saada menüükäsuga Muud Näita muutjaid. See võrdub käsurea korraldusega

    cvs editors failinimed

Redigeerimisseanss lõpeb automaatselt, kui teed antud faili sissekande. Sel hetkel saadetakse teadaanne `unedit` kõigile, kes on antud faili jälgimise sisse lülitanud. Vahel võib mõistagi juhtuda, et sa ei soovi faili sisse kanda, vaid hoopis redigeerimisseansi lõpetada ja taastada faili varasema versiooni. Seda saab teha menüükäsuga Muud Loobu muutustest. Arvesta, et &cervisia; küsib selle peale, kas sa seda tõesti soovid! Selle menüükäsu kasutamine tähendab, et kõik muutused, mida oled teinud alates menüükäsu Muud Muuda faile kasutamisest, lähevad kaotsi. Kui olla täpne, annab &cervisia; sellel puhul käsu

    echo y | cvs unedit failinimed

Seni oleme rääkinud juhtumitest, kus arendajad kasutavad failide muutmise ja muutustest loobumise võimalust vabatahtlikult. Lisaks sellele toetab &CVS; meetodit, mis sunnib peale nende käskude kasutamise. Selle meetodi kasutamise käsk on `cvs watch on`, millel me pikemalt ei peatu, sest seda kasutab ennekõike hoidla administraator. Kuid arendaja seisukohalt on oluline tähele panna, et kui projekt sunnib faili muutmise käsu peale, tehakse töökoopia väljavõtted ainult lugemisõigusega (readonly). See tähendab, et vaikimisi ei ole võimalik faili redigeerida (kui sa just ei kasuta mõnda möödahiilimisvõimalust, näiteks `chmod`). Failile tekib kirjutamisõigus alles menüükäsu Muud Muuda faile kasutamisel. See omandab taas vaid lugemisõiguse niipea, kui oled faili sisse kandnud või kasutanud menüükäsku Muud Loobu muutustest.

&cervisia; redaktoriliides võib jälgijaid peale sundivate projektide korral abiks olla veel ühel viisil. Kui käivitasid redaktori vaid lugemisõigusega failiga sellel topeltklõpsu tehes või menüükäsku Fail Redigeeri pruukides, ei saa sa tehtud muudatusi hiljem salvestada. Sellel on mõistagi oma põhjus: kui sa soovid faili muuta, pead kasutama käsku `cvs edit`, et need, kes antud faili jälgivad, saaksid teada, et oled asunud selle kallal tööle.

Sellisel juhul on soovitav lülitada sisse võimalus Seadistused Automaatse redigeerimise lubamine (cvs edit). Kui nüüd failil topeltklõpsu teed, annab &cervisia; enne redaktori käivitamist käsu `cvs edit`. Seejärel saad faili vabalt redigeerida. Kui oled töö lõpetanud, tee sissekanne ning sisse kantud failid on taas vaid lugemisõigusega.

### Lukustamine

&CVS;i kasutamisel tavapäraselt rakendatav arendusmudel on piiramatud väljavõtted. Igal arendajal on oma liivakast, kus ta saab faile oma suva järgi redigeerida. Ku kasutatakse jälgimisvõimalusi, näiteks `cvs edit`, võib mitu arendajat failidega sünkroonselt töötada. Teise arendaja tehtud muudatused ühendatakse kohalikku liivakasti, kui faili värskendad.

Muud versioonikontrolli süsteemid, näiteks RCS ja SourceSafe, kasutavad teistsugust meetodit. Kui arendaja soovib faili redigeerida, peab ta selle lukustama. See tähendab, et korraga saab üht faili redigeerida vaid üks arendaja. Kui ta redigeerimise lõpetab, lukustus eemaldatakse. Ühelt poolt ei saa sellise meetodi korral kunagi ette tulla konflikte. Teisalt ei saa aga kaks arendajat korraga ühe faili kallal töötada isegi juhul, kui nad töötavad faili erinevate osade kallal. See võib tööd aeglustada. Siin ei ole õige koht arutada nende meetodite organisatoorsete plusside ja miinuste üle. Tasub siiski mainida, et kuigi &CVS; pakub lukustamisele teatud tuge, ei ole see &CVS;i korral sugugi eelistatud töömeetod. Seda ei peaks kasutama, kui sa ei ole just kindel, et projekti haldur seda soosib.

&cervisia;s saab faile lukustada järgmiselt. Vali peaaknas vajalik fail. Seejärel kasuta menüükäsku Muud Lukusta failid. See annab käsu

    cvs admin -l failinimed

Vastupidise toimingu sooritamiseks kasuta menüükäsku Muud Eemalda lukustus. See annab käsu

    cvs admin -u failinimed

## &cervisia; seadistamine

&cervisia;t saab vastavalt kasutaja vajadustele ja eelistustele mitmeti kohandada. Mõningad võimalused, mida võib olla vajadus sageli muuta, on kättesaadavad menüüs Seadistused. Teised on koondatud dialoogi, mis avaneb menüükäsuga Seadistused Cervisia seadistamine....

### Üldine

### Kasutaja andmed ChangeLog failis

Kui kasutad menüükäsku Fail Lisa ChangeLogi kirje..., luuakse uus ChangeLogi kirje käesoleva kuupäeva ja sinu kasutajanimega. Üldiselt peetakse heaks tooniks lisada igale ChangeLogi kirjele enda täielik nimi ja e-posti aadress. Siin saab need määrata.

### Rakenduse 'cvs' asukoht

Siin saab määrata `cvs` käsureakliendi nime või otsingutee. Vaikimisi kasutab &cervisia; käivitatavat faili, mis asub sinu otsinguteel (`$PATH`).

### Redaktor

Siin saab määrata, milline redaktor käivitatakse topeltklõpsu korral faili nimel peaaknas. Redaktori käivitamiseks peab seostatakse siin antud nimi failinimega ja edastatakse shellile. Nii on täiesti võimalik kasutada selliseid rakendusi, nagu `gnuclient`. Sisestada võib ka stringi `$EDITOR`, kui sinu keskkonnamuutuja `$EDITOR` osutab redaktorile, mis avab X11 akna.

### Mitmesugused käsud

### Kontekstiridade arv võrdlemise dialoogis

&cervisia; kasutab võrdlemise dialoogis käsul `diff` võtit `-U`. Selle tulemusena näitab `diff` igas erinevuse piirkonnas ainult piiratud arvu ridu. Siin saab määrata võtme `-U` parameetri.

### Võrdlemise lisavalikud

Siin saab anda käsu `diff` lisavõtmed. Üsna levinud on võti `-b`, milel peale `diff` ignoreerib erinevusi tühikute arvus.

### Tabulaatori laius võrdlemise dialoogis

Võrdlemise dialoogis hõlmavad sinu failis või käsu `diff` väljundis leiduvad tabeldusmärgid teatud kindla ruumi. Vaikimisi on selleks kaheksa märgi ruum, kuid siin saab määrata ka muu suuruse.

### Väline võrdlemise kasutajaliides

Kui kasutad mingeid võrdlemise dialoogi näitavaid võimalusi, näiteks Vaade Erinevus hoidlast..., kutsub &cervisia; välja välise võrdlemise kasutajaliidese. Kui mõni neist on sulle eriti meelepärane, näiteks Kompare, TkDiff või xxdiff, saad selle siin määrata.

### Fail Olek käivitatakse automaatselt

Selle märkimisel käivitatakse alati käsk Fail Olek, kui avad liivakasti. Et see käsk võtab veidi aega ning vajab ühendust kaughoidla serverisse (mistõttu ei ole eriti mõttekas võrguühenduse puudumise korral), on vahest parem määrata see kohaliku ja kaughoidla jaoks erinev.

### Edenemisdialoogi näitamise ajavahemik

Sisuliselt kõik liivakastis käivitatud &CVS; käsud, mis puudutavad kaughoidlat, nõuavad ühendust &CVS; serveriga. Seda mõjutab ühenduse kiirus või ka näiteks serveri koormus. Seepärast avab &cervisia; selliste käskude puhul, nagu Vaade Erinevus hoidlast..., dialoogi, mis näitab, et käsku veel täidetakse, ja ühtlasi võimaldab käsu täitmisest loobuda. Lisaks võimaldab dialoog näha &CVS;i veateateid. Et selline dialoog võib muutuda ka tüütavaks, näidatakse seda alles pärast teatud aja möödumist, milleks on vaikimisi 4 sekundit. Siin saab seda aega muuta.

### Pakkimise tase vaikimisi

`cvs` klient tihendab failid ja paigad, kui peab neid võrgus edastama. Pakkimise taseme seab käsurea võti `-z`. Siin saab määrata &cervisia; seda võtit konkreetsel tasemel kasutama. Siin määratud väärtust kasutatakse ainult vaikimisi, lisaks on hoidlate kaupa võimalik see määrata menüükäsuga Hoidla Hoidlad....

### Välimus

### Peaaken poolitatakse rõhtsalt

&cervisia; peaaken on tavaliselt jagatud vertikaalselt puuaknaks ja väljundiaknaks. Siin saab aknad korraldada horisontaalselt.

### Protokolliakna font

Font, mida kasutatakse protokolliaknas. See on aken, mis näitab `cvs` kliendi väljundit.

### Annotatsiooniakna font

Font, mida kasutatakse annotatsioonivaates.

### Võrdlemisakna font

Font, mida kasutatakse võrdlemisdialoogis.

## Lisa

### Ignoreeritavad failid

&cervisia; ei näita oma peamises failipuus sugugi mitte kõiki seal tegelikult leiduvaid faile. See on sarnane käsule `cvs`, aidates ära hoida asjatut segadust, kui vaadet risustavad ebavajalikud asjad, näiteks objektifailid. &cervisia; püüab selles osas võimalikult hästi jäljendada käsku `cvs`, s.t. hankida ignoreeritavate failide nimekirjad järgmistest allikatest:

- Kirjete staatiline nimekiri, kus on sellised elemendid, nagu failid laiendiga `.o` ja `core`. Täpsemat infot leiab &CVS;i käsiraamatust.

- Failist ``$HOME`/.cvsignore`.

- Keskkonnamuutujast `$CVSIGNORE`.

- Failist `.cvsignore` vastavas kataloogis.

`cvs` uurib lisaks veel kirjeid failis ``$CVSROOT`/CVSROOT/cvsignore`, kuid see fail asub serveril ning &cervisia; peab olema võimeline käivituma ka võrguühenduse puudumisel. Kui töötad grupis, mis eelistab kasutada serveril asuvat ignoreeritavate failide nimekirja, on arvatavasti kasulik vaadata üle, mis seal seisab, ning asetada vastavad mustrid oma kodukataloogis faili `.cvsignore`.

### Täiendav info ja abi

- &CVS; pakub põhjalikku dokumentatsiooni infolehekülgede näol, mis kannab nimetust "The Cederqvist". Kui see on korrektselt paigaldatud, saab seda sirvida, kui kirjutada rakenduse kdehelp või khelpcenter asukohareale `info:/cvs`. Samuti võib lihtsalt valida &cervisia; menüükäsu Abi CVSi info. Cederqvisti võib leida ka HTML versioonina internetis.

  Et seda raamatut hooldatakse koos &CVS;iga, kajastab see üldjuhul uusimat infot. Siiski on soovitatav lugeda ka mõningaid muid materjale, kui soovid &CVS;i kasutama õppida, eriti just järgmisi.

- Karl Fogel on kirjutanud suurepärase raamatu Open Source Development with CVS (Vaba tarkvara arendamine CVSi abil). Umbes pool raamatust on pühendatud vaba tarkvara arenamisele. Teine pool kujutab endast &CVS;i tehnilist dokumentatsiooni. Tänuväärsel kombel on raamatu tehniline osa vabalt levitatav vastavalt GPLi tingimustele, nii et selle HTML versiooni võib iga soovija endale ise tõmmata. Ülalmainitud veebileheküljel on saadaval ka vigade nimekiri.

- &CVS;i teemadele on pühendatud omaette meililist.

- Seadistuse haldamisele üldiselt on pühendatud USENETi grupp `comp.software.config-mgmt`. &CVS; on seal suhteliselt kõrvaline teema, kuid seal võib leida vägagi huvitavat materjali teiste versioonikontrolli süsteemide kohta ning nende võrdlust &CVS;iga.

- Ning viimase, kuid sugugi mitte tähtsusetuimana on olemas ka (paraku üsna väheaktiivne) &cervisia; meililist.

### Käskude seletused

#### Menüü Fail

Fail Ava liivakast...

- Avab peaaknas liivakasti.

Fail Hiljutised liivakastid

- Võimalus avada mõni hiljuti kasutatud liivakastidest.

Fail Lisa ChangeLogi kirje...

- Avab ChangeLogi redaktori, kus saab kohe lisada uue käesoleva kuupäevaga kirje.

&Ctrl;U Fail Värskenda

- Rakendab valitud failidele käsku 'cvs update' ning muudab vastavalt nende olekut ja versiooninumbrit.

F5 Fail Olek

- Rakendab valitud failidele käsku 'cvs -n update' ning muudab vastavalt nende olekut ja versiooninumbrit.

Fail Redigeeri

- Avab valitud faili redaktoris.

Fail Lahenda...

- Avab valitud faili dialoogis, kus saab lahendada ühendamisel tekkinud konflikte.

# Fail Tee sissekanne...

- Võimaldab teha valitud faili(de) sissekande.

+ Fail Lisa hoidlasse...

- Võimaldab lisada valitud faili(d) hoidlasse.

Fail Lisa binaarfail...

- Võimaldab lisada valitud faili(d) hoidlasse binaarkujul (`cvs add `-kb``).

- Fail Eemalda hoidlast...

- Võimaldab eemaldada valitud fali(d) hoidlast.

Fail Hangi vanem versioon

- Tühistab kõik kohalikus liivakastis valitud faili(de)s tehtud muudatused ning taastab versiooni hoidla põhjal (käsk `cvs update` võtmega `-C`).

&Ctrl;Q Fail Välju

- Lõpetab &cervisia; töö

#### Vaatemenüü

Escape Vaade Peata

- Peatab kõik töötavad alamprotsessid.

&Ctrl;L Vaade Näita logifaili...

- Näitab valitud faili versioonipuud.

&Ctrl;A Vaade Näita annotatsiooni...

- Näitab valitud faili annotatsioonivaadet, s.t. vaadet, kus iga rea puhul on näha, kes seda viimati redigeeris.

&Ctrl;D Vaade Erinevus hoidlast...

- Näitab erinevusi livakastis valitud faili ja viimati värskendatud versiooni (BASE) vahel.

Vaade Viimane muudatus...

- Näitab erinevusi valitud faili viimati värskendatud versiooni (BASE) ja sellele eelneva versiooni vahel.

Vaade Ajalugu...

- Näitab &CVS;i ajalugu, nagu server selle tagastab.

Vaade Rulli failipuu lahti

- Avab failipuu kõik harud, nii et näha on kõik failid ja kataloogid.

Vaade Rulli failipuu kokku

- Sulgeb failipuu kõik harud.

#### Menüü Muud

Muud Silt/haru...

- Valitud faili(de)le sildi või haru omistamine.

Muud Eemalda silt...

- Eemaldab valitud faili(de)lt konkreetse sildi.

Muud Värskenda silti/kuupäeva...

- Annab valitud faili(de)le konkreetse sildi või kuupäeva, muutes selle kleepuvaks.

Muud Värskenda HEAD-harusse...

- Annab valitud faili(de)le vastava HEAD versiooni.

Muud Ühenda...

- Ühendab konkreetse haru või kahe sildi vahelised muudatused valitud faili(desse).

Muud Lisa jälgija...

- Lisab jälgija valitud faili(de) sündmustele.

Muud Eemalda jälgija...

- Eemaldab jälgija valitud faili(de) sündmustelt.

Muud Näita jälgijaid

- Näitab valitud faili(de) jälgijaid.

Muud Muuda faile

- Rakendab valitud faili(de)le käsku `cvs edit`.

Muud Loobu muutustest

- Rakendab valitud faili(de)le käsku `cvs unedit`.

Muud Näita muutjaid

- Rakendab valitud faili(de)le käsku `cvs editors`.

Muud Lukusta failid

- Lukustab valitud faili(d)

Muud Eemalda lukustus

- Eemaldab valitud faili(de) lukustuse.

Muud Loo hoidla suhtes paigafail

- Loob liivakastis tehtud muudatuste põhjal paigafaili.

#### Menüü Hoidla

Hoidla Tee väljavõte...

- Avab dialoogi, mis võimaldab teha hoidlast mooduli väljavõtte.

Hoidla Impordi...

- Avab dialoogi, mis võimaldab importida paketi hoidlasse.

Hoidla Hoidlad...

- Võimaldab seadistada sageli kasutatavaid hoidlaid ja juurdepääsu neile.

#### Seadistustemenüü

Seadistused Kiirklahvide seadistamine...

- Avab kiirklahvide seadistamise dialoogi.

Seadistused Cervisia seadistamine...

- Avab &cervisia; seadistustedialoogi.

Seadistused Värskendamisel luuakse kataloogid

- Määrab, kas värskendamisel luuakse liivakastis kataloogid, mida seal varem polnud (käsu `cvs update` võti `-d`).

Seadistused Värskendamisel eemaldatakse tühjad kataloogid

- Määrab, kas värskendamisel eemaldatakse liivakastist tühjad kataloogid (käsu `cvs update` võti `-P`).

Seadistused Rekursiivne värskendamine

- Määrab, kas värskendamine on rekursiivne (käsu `cvs update` võti `-r`).

Seadistused Rekursiivne sissekannete tegemine ja eemaldamine

- Määrab, kas sissekandmised ja eemaldamised on rekursiivsed (vastavalt käsu `cvs add` ja `cvs remove` võti `-r`).

Seadistused Automaatse redigeerimise lubamine (cvs edit)

- Määrab, kas käsku `cvs edit` rakendatakse automaatselt alati, kui faili redigeerid.

#### Abimenüü

F1 Abi Cervisia käsiraamat

- Käivitab KDE abikeskuse &cervisia; käsiraamatuga (sellesamaga, mida praegu loed).

Abi Saada vearaport...

- Avab veateate saatmise dialoogi.

Abi &cervisia; info

- Näitab versiooni ja autorit.

Abi KDE info

- Näitab KDE versiooni ja muud infot.

Abi CVS käsiraamat

- Avab KDE abikeskuses &CVS; infoleheküljed.

## Autorid ja litsents

&underFDL;