<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY kappname "&cervisia;">
  <!ENTITY package "kdesdk">
  <!ENTITY ssh "<command
>ssh</command
>">
  <!ENTITY rsh "<command
>rsh</command
>">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Estonian  "INCLUDE"
> <!-- Change language only here -->
  <!ENTITY CVS "<application
>CVS</application
>">
]>

<book lang="&language;">

<bookinfo>
<title
>&cervisia; käsiraamat</title>
<authorgroup>
<author
><firstname
>Bernd</firstname
><surname
>Gehrmann</surname
> <affiliation
><address
><email
>bernd@mail.berlios.de</email
></address
></affiliation>
</author
> 

<othercredit role="translator"
><firstname
>Marek</firstname
><surname
>Laane</surname
><affiliation
><address
><email
>bald@online.ee</email
></address
></affiliation
><contrib
>Tõlge eesti keelde</contrib
></othercredit
> 

</authorgroup>

<copyright>
<year
>1999</year>
<year
>2000</year>
<year
>2001</year>
<year
>2002</year>
<holder
>Bernd Gehrmann</holder>
</copyright>
<legalnotice>
 
<para
>Seda rakendust levitatakse vastavalt Q Avaliku Litsentsi tingimustele, nagu need on määranud Norra firma Trolltech AS ja nagu need esinevad käesoleva paketi failis LICENCE.QPL.</para>

<para
>Seda programmi levitatakse lootuses, et see on kasulik, kuid ILMA IGASUGUSEGARANTIITA; isegi KESKMISE/TAVALISE KVALITEEDI GARANTIITA või SOBIVUSELE TEATUD KINDLAKS EESMÄRGIKS.</para>
</legalnotice>

<legalnotice
>&FDLNotice;</legalnotice>

<date
>2002-06-30</date>
<releaseinfo
>2.00.00</releaseinfo>

<abstract>
<para
>&cervisia; on &CVS;i graafiline kasutajaliides.</para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kdesdk</keyword>
<keyword
>Cervisia</keyword>
<keyword
>CVS</keyword>
<keyword
>versioonide kontroll</keyword>
<keyword
>versiooni kontroll</keyword>
</keywordset>

</bookinfo>
   
<chapter id="getting-started">
<title
>Alustamine</title>

<sect1 id="accessing-repository">
<title
>Hoidla kasutamine</title>
      
<para
>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. </para>

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

<variablelist>
<varlistentry>
<term
>Kohalik</term>
<listitem>
<para
>Hoidla aadress võib olla näiteks <filename class="directory"
>/home/cvs</filename
> ning see kujutab endast tavalist arvutil kättesaadavat kataloogi. See võib küll ka füüsiliselt asuda näiteks <acronym
>NFS</acronym
> abil ühendataval kettal, kuid see ei ole õigupoolest oluline. Kui kasutad tihti teatud kohalikku hoidlat, tuleb see ka &cervisia;le teatavaks teha. </para>

<procedure>
<title
>Kohaliku hoidla lisamine</title>
<step
><para
>Ava hoidlate dialoog menüükäsuga <menuchoice
><guimenu
> Hoidla</guimenu
> <guimenuitem
>Hoidlad...</guimenuitem
></menuchoice
>.</para
></step>

<step
><para
>Vajuta nuppu <guibutton
>Lisa...</guibutton
>.</para
></step>

<step
><para
>Sisesta ilmuvasse dialoogi hoidla kohta käivad detailid.</para
></step>

<step
><para
>Kui oled valmis, klõpsa nuppu <guibutton
>OK</guibutton
>.</para
></step>

</procedure>

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

</listitem>
</varlistentry>

<varlistentry>
<term
>rsh</term>
<listitem>
<para
>Hoidla nimi võib olla näiteks <literal
>:ext:bernd@cvs.cervisia.sourceforge.net:/cvsroot/cervisia</literal
>.</para>

<para
>See meetod nõuab, et sul oleks konto serveris (antud juhul siis <systemitem class="systemname"
>cvs.sourceforge.net</systemitem
>) ja et sa kasutaksid suhtlemiseks kaugshelli. Vaikimisi pruugib &CVS; &rsh;-d, kuid &rsh; on juba ammu tunnistatud ebaturvaliseks ja selle asemele on üldjuhul astunud &ssh;. </para>

<para
>Kui kasutad &ssh;-d, pead keskkonnamuutja <envar
>CVS_RSH</envar
> määrama <command
>cvs</command
> klienti kasutades &ssh;-le. &cervisia; toetab seda võimalust. </para>

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

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

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

</listitem>
</varlistentry>

<varlistentry>
<term
>pserver</term>
<listitem>

<para
>Hoidla nimeks võib olla näiteks <filename
>:pserver:gehrmab@cvs.kde.org:/home/kde</filename
> </para>

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

<screen
><prompt
>%</prompt
><userinput
><command
>cvs</command
> <option
>-d</option
> <parameter
>:pserver:joe@cvs.kde.org:/home/kde login</parameter
></userinput
></screen>

<para
>(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 <filename
>$<envar
>HOME</envar
>/.cvspass</filename
>. 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 <filename
>$<envar
>HOME</envar
>/.cvspass</filename
> hoida salajase ja teistele mitteloetavana. </para>

</listitem>
</varlistentry>
</variablelist>

</sect1>


<sect1 id="importing">
<title
>Mooduli import hoidlasse</title>

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

<figure id="screenshot-import" float="1">
<title
>&cervisia; importimise dialoog</title>
<mediaobject>
<imageobject
><imagedata format="PNG" fileref="import.png"/></imageobject>
<textobject
><phrase
>&cervisia; importimise dialoog</phrase
></textobject>
</mediaobject>
</figure>

<para
><xref linkend="screenshot-import"/> näitab dialoogi, mis aitab <emphasis
>importida</emphasis
> projekti moodulina. Kui oled väljad täitnud ja klõpsanud nuppu <guibutton
>OK</guibutton
>, antakse järgmine &CVS; käsk: </para>

<screen
><command
>cvs</command
> -d <co id="co-repository"
></co
><replaceable
>hoidla</replaceable
> import -m "" <co id="co-module"
></co
><replaceable
>moodul</replaceable
> <co id="co-vendortag"
></co
><replaceable
>tootja_silt</replaceable
> <co id="co-releasetag"
></co
><replaceable
>väljalaske_silt</replaceable
></screen>

<calloutlist>

<callout arearefs="co-repository">
<para
>&CVS; hoidla nimi, tuntud ka kui $<envar
>CVSROOT</envar
>. Sul peab olema selles kirjutamisõigus ja hoidla peab olema korrektselt initsialiseeritud. Kui hoidlat ei ole veel olemas, initsialiseeri see käsuga <userinput
><command
>cvs</command
> <option
>-d</option
> <replaceable
>hoidla</replaceable
> <command
>init</command
></userinput
>. </para>

<para
>Kui tegemist on kaughoidlaga, kontrolli, et autentimine toimib (täpsemat infot annab <xref linkend="accessing-repository"/>). </para>
</callout>

<callout arearefs="co-module">
<para
>Mooduli nimi, millega projekt salvestatakse. Pärast importimist saab projektist just selle nimega väljavõtteid teha. Täpsemat infot annab <xref linkend="checkingout"/>. See on ka vastava kataloogi nimi hoidlas. </para>
</callout>

<callout arearefs="co-vendortag">
<para
>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. </para>
</callout>

<callout arearefs="co-releasetag">
<para
>Ka seda silti on traditsiooniliselt kasutatud tarkvara erinevate versioonide importimisel. Kui sa sellega ei tegele, kasuta sõna <literal
>start</literal
> või stringi <literal
>SUVA_1_0</literal
>, kus <literal
>SUVA</literal
> on projekti nimi ja <literal
>1.0</literal
> imporditava väljalaske versiooni number. </para>
</callout>

</calloutlist>

<formalpara>
<title
>Töökataloog</title>
<para
>See on imporditava projekti ülemkataloog. Import algab sellest kataloogist ning edeneb rekursiivselt allapoole. </para>
</formalpara>

<formalpara>
<title
>Eiratakse faile</title>
<para
>Selle välja täitmisel antakse käsule <command
>cvs import</command
> täiendavalt võti <option
>-I <replaceable
>failinimed</replaceable
></option
>. 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 <filename
>core</filename
>. Sellisel juhul kirjuta väljale ainult märk <literal
>!</literal
>. See tühistab &CVS;i eiratavate failide skeemi, täpsemalt vaata <xref linkend="ignoredfiles"/>. </para>
</formalpara>

<formalpara>
<title
>Imporditakse binaarfailidena</title>
<para
>Selle märkimisel imporditakse kõik failid binaarkujul, st. käsule <command
>cvs import</command
> lisatakse võti <option
>-kb</option
>. </para>
</formalpara>

</sect1>


<sect1 id="checkingout">
<title
>Mooduli väljavõtte tegemine hoidlast</title>
<para
>Enne seda, kui alustada projekti kallal tööd vastavalt versioonide kontrollimise süsteemile, tuleb endale teha <emphasis
>töövariandi</emphasis
> väljavõte. </para>

<figure id="screenshot-checkout" float="1">
<title
>&cervisia; väljavõtte tegemise dialoog</title>
<mediaobject>
<imageobject
><imagedata format="PNG" fileref="checkout.png"/></imageobject>
<textobject
><phrase
>&cervisia; väljavõtte tegemise dialoog</phrase
></textobject>
</mediaobject>
</figure>

<formalpara>
<title
>Hoidla</title>
<para
>&CVS; hoidla nimi, tuntud ka kui <filename
><envar
>$CVSROOT</envar
></filename
>. Kui tegemist on kaughoidlaga, kontrolli, et autentimine töötaks, täpsemat infot annab <xref linkend="accessing-repository"/>. </para>
</formalpara>

<formalpara>
<title
>Moodul</title>
<para
>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 <filename
><envar
>$CVSROOT</envar
>/modules</filename
>, saab olemasolevate moodulite nimekirja tõmmata klõpsuga nupul <guibutton
>Laadi nimekiri</guibutton
>. </para>
</formalpara>

<formalpara>
<title
>Töökataloog</title>
<para
>Kataloog, kuhu mooduli väljavõte salvestatakse. Arvesta, et töövariandi ülemkataloog luuakse alati siin antud kataloogi töövariandiga sama nime kandva alamkataloogina. </para>
</formalpara>

</sect1>


<sect1 id="mainscreen">
<title
>Peaaken</title>
<para
>Kui käivitad &cervisia; ja avad töövariandi menüükäsuga <menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Ava liivakast...</guimenuitem
></menuchoice
>, näed avatud kataloogi hierarhilist vaadet. Vastavalt failide <filename
>.cvsignore</filename
> 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 <guimenu
>Fail</guimenu
> käsu <guimenuitem
>Värskenda</guimenuitem
> või <guimenuitem
>Olek</guimenuitem
>. Sellisel moel on sul võimalik üht-teist ära teha isegi juhul, kui puudub püsiühendus &CVS; serveriga. </para>

<figure id="screenshot-mainview" float="1">
<title
>&cervisia; peaaken</title>
<mediaobject>
<imageobject
><imagedata format="PNG" fileref="mainview.png"/></imageobject>
<textobject
><phrase
>&cervisia; peaaken</phrase
></textobject>
</mediaobject>
</figure>

<para
>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 <guimenu
>Fail</guimenu
> käsk <guimenuitem
>Värskenda</guimenuitem
>. &cervisia; annab siis korralduse</para>

<para>
<screen
><command
>cvs update -n <replaceable
>failinimed</replaceable
></command
></screen>
</para>

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

<itemizedlist>

<listitem
><para
>Lokaalselt muudetud  - see tähendab, et faili on muudetud võrreldes hoidlas oleva versiooniga. </para
></listitem>

<listitem
><para
>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. </para
></listitem>

<listitem
><para
>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. </para
></listitem>

<listitem
><para
>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. </para
></listitem>

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

<listitem
><para
>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". </para
></listitem>
       
<listitem
><para
>Värske - näitab, et fail on samane hoidlas oleva versiooniga. </para
></listitem>

<listitem
><para
>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. </para
></listitem>

<listitem
><para
>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 <filename
>.cvsignore</filename
>. </para
></listitem>

</itemizedlist>
      
<para
>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 <guimenu
>Fail</guimenu
> käsk <guimenuitem
>Värskenda</guimenuitem
> (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: </para>
      
<itemizedlist>

<listitem
><para
>Värskendatud  - näitab, et faili on hoidlast värskendatud. </para
></listitem>

<listitem
><para
>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". </para
></listitem>

</itemizedlist>
      
<para
>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 <guilabel
>Olek</guilabel
>. 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 <guilabel
>Faili nimi</guilabel
>. </para>

</sect1>
</chapter>

   
<chapter id="workingwithfiles">
<title
>Töö failidega</title>

<para
>&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 <guimenu
>Seadistused</guimenu
> määratust. Kui näiteks on sisse lülitatud <menuchoice
><guimenu
>Seadistused</guimenu
><guimenuitem
>Rekursiivne sissekannete tegemine ja eemaldamine</guimenuitem
></menuchoice
> ning sa valid menüükäsu <menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Tee sissekanne...</guimenuitem
></menuchoice
>, 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. </para>

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

<sect1 id="addingfiles">
<title
>Failide lisamine</title>

<para
>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 <menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Lisa hoidlasse</guimenuitem
></menuchoice
>. &cervisia; annab nüüd korralduse</para>

<para>
<screen
><command
>cvs add <replaceable
>failinimed</replaceable
></command
></screen>
</para>

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

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

<para
>&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 (&eg; stringis <literal
>&dollar;Revision: 1.6 &dollar;</literal
>). 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 </para>

<para>
<screen
><command
>cvs add -kb <replaceable
>failinimed</replaceable
></command
></screen>
</para>

<para
>&cervisia; võimaldab seda teha menüükäsuga <menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Lisa binaarfail...</guimenuitem
></menuchoice
> </para>

</sect1>


<sect1 id="removingfiles">
<title
>Failide eemaldamine</title>

<para
>Sarnaselt failide lisamisele on failide eemaldamine kaheastmeline protsess. Esmalt tuleb failid registreerida eemaldatavateks menüükäsuga <menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Eemalda hoidlast</guimenuitem
></menuchoice
>, mis annab käsu </para>
<para>
<screen
><command
>cvs remove -f <replaceable
>failinimed</replaceable
></command
></screen>
</para>

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

<note
><para
>Ü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. </para
></note>

</sect1>
   
   
<sect1 id="addingremovingdirs">
<title
>Kataloogide lisamine ja eemaldamine</title>

<para
>&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. </para>

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

<para
>Kataloogi saab hoidlasse lisada käsuga </para>

<para>
<screen
><command
>cvs add <replaceable
>kataloogi_nimi</replaceable
></command
></screen>
</para>

<para
>mida saab teostada menüükäsuga <menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Lisa hoidlasse</guimenuitem
></menuchoice
>. Arvesta, et erinevalt failide lisamisest ei nõua kataloogi lisamine hilisemat sissekannet. </para>

</sect1>


<sect1 id="commitingfiles">
<title
>Failide sissekandmine</title>

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

<para
>Failide sissekandmiseks vali need &cervisia; peaaknas ja kasuta menüükäsku <menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Tee sissekanne...</guimenuitem
></menuchoice
>. </para>

<figure id="screenshot-commit" float="1">
<title
>&cervisia; sissekande tegemise dialoog</title>
<mediaobject>
<imageobject
><imagedata format="PNG" fileref="commit.png"/></imageobject>
</mediaobject>
</figure>

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

<para>
<screen
><command
>cvs commit -m <replaceable
>teade</replaceable
> <replaceable
>failinimed</replaceable
></command
></screen>
</para>

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

<note
><para
>Üsna tavaline viga sissekande tegemisel on <errorname
>Up-to-date check failed</errorname
> (<quote
>värskuse kontroll ebaõnnestus</quote
>). See näitab, et keegi on hoidlasse pärast sinu viimast värskendamist muudatusi teinud ehk kui tehnilisemalt rääkida, ei ole sinu <literal
>BASE</literal
>-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. </para
></note>

<note>
<para
>Teine levinud veateade on <errorname
>Sticky tag 'X' for file 'X' is not a branch</errorname
>. See juhtub siis, kui püüad sisse kanda faili, mille oled varem uuendanud teatud versiooni või sildini käsuga </para>
<para>
<screen
><prompt
>%</prompt
><userinput
>cvs update -r X</userinput
></screen>
</para>
<para
>(seda saab &eg; teha menüükäsuga <menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Värskenda silti/kuupäeva...</guimenuitem
></menuchoice
>). 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. </para>
</note>

<para
>&cervisia; puhul on üpris lihtne hallata faili ChangeLog, mis ühildub GNU koodijuhistes kirja pandud vorminguga. Selle kasutamiseks vali menüükäsk <menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Lisa ChangeLogi kirje...</guimenuitem
></menuchoice
>. Kui liivakasti ülemkataloogis on fail <filename
>ChangeLog</filename
> 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 <xref linkend="customize-general"/>). Kui oled töö lõpetanud ja klõpsanud nuppu <guibutton
>OK</guibutton
>, on järgmisel sissekande tegemise dialoogi avamisel sind ees ootamast logiteade, mis vastab viimati muutuste logisse tehtud muudatustele. </para>

</sect1>


<sect1 id="resolvingconflicts">
<title
>Konfliktide lahendamine</title>

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

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

<para
>&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 <menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Lahenda...</guimenuitem
></menuchoice
>. </para>

<figure id="screenshot-resolve" float="1">
<title
>&cervisia; lahendamisdialoog</title>
<mediaobject>
<imageobject
><imagedata format="PNG" fileref="resolve.png"/></imageobject>
<textobject
><phrase
>&cervisia; lahendamisdialoog</phrase
></textobject>
</mediaobject>
</figure>

<para
>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 <guibutton
>Salvesta</guibutton
>. </para>

<para
>Erinevusi sisaldavate osade vahel saab liikuda nuppudega <guibutton
>&lt;&lt;</guibutton
> ja <guibutton
>&gt;&gt;</guibutton
>. Dialoogi allosas keskel on näha, millise osa juures parajasti ollakse. Näiteks <literal
>2/8</literal
> 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 <guibutton
>A</guibutton
> valib sinu versiooni, nupp <guibutton
>B</guibutton
> aga hoidla versiooni. </para>

</sect1>

</chapter>


<chapter id="obtaininginformation">
<title
>Failide info hankimine</title>

<sect1 id="browsinglogs">
<title
>CVS logide lehitsemine</title>

<para
>Kui märgid peaaknas faili ja valid menüüst <guimenu
>Vaade</guimenu
> käsu <guimenuitem
>Näita logifaili</guimenuitem
>, antakse käsk </para>

<para>
<screen
><command
>cvs log <replaceable
>failinimed</replaceable
></command
></screen>
</para>

<para
>ja ilmub dialoog, mis kajastab märgitud faili ajalugu. </para>

<figure float="1">
<title
>&cervisia; logi lehitsemise dialoog</title>
<mediaobject>
<imageobject
><imagedata format="PNG" fileref="logtree.png"/></imageobject>
<textobject
><phrase
>A screenshot of &cervisia;'s browse logs dialog</phrase
></textobject>
</mediaobject>
</figure>

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

<para
>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 <command
>cvs log</command
>. 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 <keycombo
><keycap
>Ctrl</keycap
><keycap
>A</keycap
></keycombo
> ja <keycombo
><keycap
>Ctrl</keycap
><keycap
>B</keycap
></keycombo
>. </para>

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

<para
>Klõps nupul <guibutton
>Võrdlemine</guibutton
> kutsub välja käsu <command
>cvs diff</command
>, 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. </para>

</sect1>

   
<sect1 id="browsinghistory">
<title
>Ajaloo lehitsemine</title>

<para
>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 <guimenu
>Vaade</guimenu
> käsk <guimenuitem
>Ajalugu</guimenuitem
>, mispeale &cervisia; annab käsu </para>

<para>
<screen
><command
>cvs history -e -a</command
></screen>
</para>

<note
><para
>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! </para
></note>

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

<itemizedlist>

<listitem
><para
>Tehtud väljavõte - veerus 'Autor' näidatud kasutaja tegi mooduli väljavõtte </para
></listitem>

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

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

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

<listitem
><para
>Värskendatud, kopeeritud - kasutaja on faili värskendanud, töökataloogi kopeeriti uus versioon. </para
></listitem>

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

<listitem
><para
>Värskendatud, konflikt - kasutaja on faili värskendanud ning tuvastati konflikt tööversioonis tehtud muudatustega. </para
></listitem>

<listitem
><para
>Tehtud sissekanne, muudetud - kasutaja on muudetud faili sisse kandnud. </para
></listitem>

<listitem
><para
>Tehtud sissekanne, lisatud  - kasutaja on faili lisanud ja sissekande teinud. </para
></listitem>

<listitem
><para
>Tehtud sissekanne, eemaldatud - kasutaja on faili eemaldanud ja sissekande teinud. </para
></listitem>

</itemizedlist>

<figure id="screenshot-history" float="1">
<title
>&cervisia; ajaloo dialoog</title>
<mediaobject>
<imageobject
><imagedata format="PNG" fileref="history.png"/></imageobject>
<textobject
><phrase
>&cervisia; ajaloo dialoog</phrase
></textobject>
</mediaobject>
</figure>

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

<itemizedlist>
<listitem
><para
>Näita sissekannete tegemisi - näitab sissekandeid</para
></listitem>
<listitem
><para
>Näita väljavõtete tegemisi - näitab väljavõtteid</para
></listitem>
<listitem
><para
>Näita sildistamisi - näitab sildistamisi</para
></listitem>
<listitem
><para
>Näita muid sündmusi - näitab sündmusi, mida ülaltoodud võimalused ei hõlma</para
></listitem>
<listitem
><para
>Ainult kasutaja - näitab ainult konkreetse kasutajaga seotud sündmusi</para
></listitem>
<listitem
><para
>Ainult failinimed - filtreerib failinimed vastavalt regulaaravaldisele</para
></listitem>
<listitem
><para
>Ainult kataloogid - filtreerib katalooginimed vastavalt regulaaravaldisele</para
></listitem>
</itemizedlist>

<para
>Regulaaravaldistes saab kasutada järgmisi erimärke: </para>

<itemizedlist>

<listitem
><para
><literal
>x*</literal
>: sobib suvaline arv <literal
>x</literal
> esinemisi. </para
></listitem>

<listitem
><para
><literal
>x+</literal
>: sobib üks või enam <literal
>x</literal
> esinemist. </para
></listitem>

<listitem
><para
><literal
>x?</literal
>: sobib null või üks <literal
>x</literal
> esinemist. </para
></listitem>

<listitem
><para
><literal
>^</literal
>: sobib stringi algus. </para
></listitem>

<listitem
><para
><literal
>$</literal
>: sobib stringi lõpp. </para
></listitem>

<listitem
><para
><literal
>[a-cx-y]</literal
>: sobib märgirühm, &eg; antud juhul a,b,c,x,y. </para
></listitem>

</itemizedlist>

</sect1>


<sect1 id="diff">
<title
>Versioonide erinevuste jälgimine</title>

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

<itemizedlist>

<listitem
><para
>Peaaknas saab valida menüükäsu <menuchoice
><guimenu
>Vaade</guimenu
><guimenuitem
>Erinevus hoidlast...</guimenuitem
></menuchoice
>. See annab käsu <command
>cvs diff</command
> ning näitab erinevusi sinu liivakasti ja viimati värskendatud (tuntud ka kui <literal
>BASE</literal
>) versiooni vahel. See on eriti kasulik vahetult enne faili sissekandmist, et leida sobiv logiteade. </para
></listitem>

<listitem
><para
>Sissekande tegemise dialoogis saab erinevusi lasta näidata faili nime valides ning sellel topeltklõpsu tehes või klahvi <keycap
>Return</keycap
> vajutades. Selle tulemus on sarnane menüükäsu <menuchoice
><guimenu
>Vaade</guimenu
><guimenuitem
>Erinevus hoidlast...</guimenuitem
></menuchoice
> omaga. </para
></listitem>

<listitem
><para
>Logifailide lehitsemise dialoogis saab märkida faili kaks versiooni ja lasta näidata nende erinevusi (täpsemalt vaata <xref linkend="browsinglogs"/>). </para
></listitem>

</itemizedlist>

<para
>Nagu oodata võibki, ei paiska &cervisia; lihtsalt käsu <command
>diff</command
> väljundit terminaliaknasse, vaid näitab seda graafiliselt, näiteks nagu <xref linkend="screenshot-log"/>. </para>

<figure id="screenshot-log" float="1">
<title
>&cervisia; võrdlemise dialoog</title>
<mediaobject>
<imageobject
><imagedata format="PNG" fileref="diff.png"/></imageobject>
<textobject
><phrase
>&cervisia; võrdlemise dialoog</phrase
></textobject>
</mediaobject>
</figure>

<para
>Dialoogis olev tekst kujutab endast veidi paremaks muudetud varianti tekstist, milel annab võrdlemiskäsk võtmega <option
>-u</option
>. 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 <literal
>+++++</literal
>. Lisaks sellele on näha iga rea number. </para>

<para
>Parempoolse akna teises veerus on näha, milline on muudatus olnud. Võimalikud tüübid on <literal
>Lisatud</literal
>, <literal
>Kustutatud</literal
> ja <literal
>Muudetud</literal
>, 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. </para>

<para
>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 <guibutton
>Sünkroonitud kerimisribad</guibutton
> abil. </para>

<para
>Seda, kuidas kohandada võrdlemisdialoogi, annab teada <xref linkend="customize-commands"/>. </para>

</sect1>


<sect1 id="annotate">
<title
>Faili annoteeritud vaate jälgimine</title>

<para
>Käsu <command
>cvs annotate</command
> 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. </para>

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

<figure id="screenshot-annotate" float="1">
<title
>&cervisia; annoteerimisdialoog</title>
<mediaobject>
<imageobject
><imagedata format="PNG" fileref="annotate.png"/></imageobject>
<textobject
><phrase
>&cervisia; sildi uuendamise dialoog</phrase
></textobject>
</mediaobject>
</figure>

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

<para
>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, <emphasis
>miks</emphasis
> seda rida muudeti. Selleks vii hiirekursor vastava versiooninumbri kohale, misjärel ilmub kohtspikker logiteate ja muutmise kuupäevaga. </para>

</sect1>

</chapter>


<chapter id="advancedusage">
<title
>Kasutamine edasijõudnutele</title>

<sect1 id="taggingbranching">
<title
>Sildi ja haru omistamine</title>

<para
>Me puudutame siin ainult sildi ja haru omistamise tehnilist külge. Kui oled lihtsalt hoidla <emphasis
>kasutaja</emphasis
>, 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. </para>

<para
>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 <literal
>CERVISIA_1_0</literal
>. &cervisia; kasutab otsustamisel, milline on sobilik silt, &CVS; rangeid reegleid: see peab algama tähega ning sisaldama vaid tähti, numbreid, sidekriipse ja alakriipse. </para>

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

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

<para
>On mitu võimalust värskendada projekti teatud staatusse: </para>

<itemizedlist>

<listitem
><para
>Värskendada saab teatud sildini. Vali menüükäsk <menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Värskenda silti/kuupäeva</guimenuitem
></menuchoice
>. Sama käsuga saab värskendada teatud haruni. &cervisia; annab sellisel puhul käsu </para>

<para>
<screen
><command
>cvs update -r <replaceable
>silt</replaceable
></command
></screen>
</para
></listitem>

<listitem
><para
>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 <menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Värskenda silti/kuupäeva</guimenuitem
></menuchoice
>, märkides dialoogis ära kasti<guibutton
>Värskenda kuupäeva</guibutton
>. Alloleval väljal võid mitmel moel sisestada kuupäeva. See võib olla näiteks <literal
>yyyy-mm-dd</literal
>, kus <literal
>yyyy</literal
> on aasta, <literal
>mm</literal
> kuu (numbrilisel kujul) ja <literal
>dd</literal
> päev. Kasutada saab ka mõningaid ingliskeelseid fraase, näiteks <literal
>yesterday</literal
> (<quote
>eile</quote
>) ja <literal
>2 weeks ago</literal
> (<quote
>2 nädala eest</quote
>). Selle võimaluse kasutamisel annab &cervisia; käsu </para>

<para>
<screen
><command
>cvs update -D <replaceable
>kuupäev</replaceable
></command
></screen>
</para
></listitem>

<listitem
><para
>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 <literal
>HEAD</literal
>) taasliitumiseks kasuta menüükäsku <menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Värskenda HEAD-harusse</guimenuitem
></menuchoice
>. See tähendab käsku </para>
<para>
<screen
><command
>cvs update <option
>-A</option
></command
></screen>
</para
></listitem>

</itemizedlist>

<figure id="screenshot-updatetag" float="1">
<title
>&cervisia; sildi uuendamise dialoog</title>
<mediaobject>
<imageobject
><imagedata format="PNG" fileref="updatetag.png"/></imageobject>
<textobject
><phrase
>&cervisia; sildi uuendamise dialoog</phrase
></textobject>
</mediaobject>
</figure>

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

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

<para>
<screen
><command
>cvs update <option
>-j</option
> <replaceable
>haru_loomise_kuupäev</replaceable
></command
></screen>
</para>

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

<para>
<screen
><command
>cvs update <option
>-j</option
> <replaceable
>haru_loomise_kuupäev1</replaceable
> <option
>-j</option
> <replaceable
>haru_loomise_kuupäev2</replaceable
></command
></screen>
</para>

</sect1>


<sect1 id="watches">
<title
>Jälgijate kasutamine</title>

<para
>Jälgija (inglise keeles <quote
>watch</quote
>) 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 <filename
><envar
>$CVSROOT</envar
>/CVSROOT/notify</filename
> korrektset seadistamist. Seda siinkohal ei puudutata. Kui vajad rohkem infot, kuidas administraator taolisel korral käituma peaks, loe mõnda lisas soovitatud materjalidest. </para>

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

<para
>Jälgija lisamiseks ühele või mitmele failile vali menüükäsk <menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Lisa jälgija...</guimenuitem
></menuchoice
>. 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 <guibutton
>Ainult</guibutton
> ja <guibutton
>Sissekande tegemine</guibutton
>. Kui soovid teada saada kõigist märgitud failidega toimuvatest sündmustest, vali <guibutton
>Kõik</guibutton
>. Valiku kinnitamisel antakse käsk </para>

<para>
<screen
><command
>cvs watch add -a commit <replaceable
>failinimed</replaceable
></command
></screen>
</para>

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

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

<para>
<screen
><command
>cvs watch remove <replaceable
>failinimed</replaceable
></command
></screen>
</para>

<para
>(võimalik on lisada valitud sündmuste jaoks võti <option
>-a</option
>). </para>

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

<para>
<screen
><command
>cvs watchers <replaceable
>failinimed</replaceable
></command
></screen>
</para>

<para
>&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. </para>

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

<para>
<screen
><command
>cvs edit <replaceable
>failinimed</replaceable
></command
></screen>
</para>

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

<para>
<screen
><command
>cvs editors <replaceable
>failinimed</replaceable
></command
></screen>
</para>

<para
>Redigeerimisseanss lõpeb automaatselt, kui teed antud faili sissekande. Sel hetkel saadetakse teadaanne <literal
>unedit</literal
> 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 <menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Loobu muutustest</guimenuitem
></menuchoice
>. 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 <menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Muuda faile</guimenuitem
></menuchoice
> kasutamisest, lähevad kaotsi. Kui olla täpne, annab &cervisia; sellel puhul käsu </para>

<para>
<screen
><command
>echo y | cvs unedit <replaceable
>failinimed</replaceable
></command
></screen>
</para>

<para
>Seni oleme rääkinud juhtumitest, kus arendajad kasutavad failide muutmise ja muutustest loobumise võimalust vabatahtlikult. Lisaks sellele toetab &CVS; meetodit, mis <emphasis
>sunnib peale</emphasis
> nende käskude kasutamise. Selle meetodi kasutamise käsk on <command
>cvs watch on</command
>, 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 <emphasis
>lugemisõigusega</emphasis
> (readonly). See tähendab, et vaikimisi ei ole võimalik faili redigeerida (kui sa just ei kasuta mõnda möödahiilimisvõimalust, näiteks <command
>chmod</command
>). Failile tekib kirjutamisõigus alles menüükäsu <menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Muuda faile</guimenuitem
></menuchoice
> kasutamisel. See omandab taas vaid lugemisõiguse niipea, kui oled faili sisse kandnud või kasutanud menüükäsku <menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Loobu muutustest</guimenuitem
></menuchoice
>. </para>

<para
>&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 <menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Redigeeri</guimenuitem
></menuchoice
> pruukides, ei saa sa tehtud muudatusi hiljem salvestada. Sellel on mõistagi oma põhjus: kui sa soovid faili muuta, pead kasutama käsku <command
>cvs edit</command
>, et need, kes antud faili jälgivad, saaksid teada, et oled asunud selle kallal tööle. </para>

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

</sect1>


<sect1 id="locking">
<title
>Lukustamine</title>

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

<para
>Muud versioonikontrolli süsteemid, näiteks <acronym
>RCS</acronym
> ja <application
>SourceSafe</application
>, kasutavad teistsugust meetodit. Kui arendaja soovib faili redigeerida, peab ta selle <emphasis
>lukustama</emphasis
>. 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. </para>

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

<para>
<screen
><command
>cvs admin -l <replaceable
>failinimed</replaceable
></command
></screen>
</para>

<para
>Vastupidise toimingu sooritamiseks kasuta menüükäsku <menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Eemalda lukustus</guimenuitem
></menuchoice
>. See annab käsu</para>

<para>
<screen
><command
>cvs admin -u <replaceable
>failinimed</replaceable
></command
></screen>
</para>

</sect1>

</chapter>


<chapter id="customization">
<title
>&cervisia; seadistamine</title>

<para
>&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 <guimenu
>Seadistused</guimenu
>. Teised on koondatud dialoogi, mis avaneb menüükäsuga <menuchoice
><guimenu
>Seadistused</guimenu
><guimenuitem
>Cervisia seadistamine...</guimenuitem
></menuchoice
>. </para>


<sect1 id="customize-general">
<title
>Üldine</title>

<formalpara id="customize-username">
<title
>Kasutaja andmed ChangeLog failis</title>
<para
>Kui kasutad menüükäsku <menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Lisa ChangeLogi kirje...</guimenuitem
></menuchoice
>, 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. </para>
</formalpara>

<formalpara id="customize-cvspath">
<title
>Rakenduse 'cvs' asukoht</title>
<para
>Siin saab määrata <command
>cvs</command
> käsureakliendi nime või otsingutee. Vaikimisi kasutab &cervisia; käivitatavat faili, mis asub sinu otsinguteel (<envar
>$PATH</envar
>). </para>
</formalpara>

<formalpara id="customize-editor">
<title
>Redaktor</title>
<para
>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 <command
>gnuclient</command
>. Sisestada võib ka stringi <envar
>$EDITOR</envar
>, kui sinu keskkonnamuutuja <envar
>$EDITOR</envar
> osutab redaktorile, mis avab X11 akna. </para>
</formalpara>

</sect1>

<sect1 id="customize-commands">
<title
>Mitmesugused käsud</title>

<formalpara id="customize-context">
<title
>Kontekstiridade arv võrdlemise dialoogis</title>
<para
>&cervisia; kasutab võrdlemise dialoogis käsul <command
>diff</command
> võtit <option
>-U</option
>. Selle tulemusena näitab <command
>diff</command
> igas erinevuse piirkonnas ainult piiratud arvu ridu. Siin saab määrata võtme <option
>-U</option
> parameetri. </para>
</formalpara>

<formalpara id="customize-diffopt">
<title
>Võrdlemise lisavalikud</title>
<para
>Siin saab anda käsu <command
>diff</command
> lisavõtmed. Üsna levinud on võti <option
>-b</option
>, milel peale <command
>diff</command
> ignoreerib erinevusi tühikute arvus. </para>
</formalpara>

<formalpara id="customize-tabwidth">
<title
>Tabulaatori laius võrdlemise dialoogis</title>
<para
>Võrdlemise dialoogis hõlmavad sinu failis või käsu <command
>diff</command
> väljundis leiduvad tabeldusmärgid teatud kindla ruumi. Vaikimisi on selleks kaheksa märgi ruum, kuid siin saab määrata ka muu suuruse. </para>
</formalpara>

<formalpara id="customize-difffrontend">
<title
>Väline võrdlemise kasutajaliides</title>
<para
>Kui kasutad mingeid võrdlemise dialoogi näitavaid võimalusi, näiteks <menuchoice
><guimenu
>Vaade</guimenu
><guimenuitem
>Erinevus hoidlast...</guimenuitem
></menuchoice
>, kutsub &cervisia; välja välise võrdlemise kasutajaliidese. Kui mõni neist on sulle eriti meelepärane, näiteks <application
>Kompare</application
>, <application
>TkDiff</application
> või <application
>xxdiff</application
>, saad selle siin määrata. </para>
</formalpara>

<formalpara id="customize-startstatus">
<title
><menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Olek</guimenuitem
></menuchoice
> käivitatakse automaatselt</title
> 

<para
>Selle märkimisel käivitatakse alati käsk <menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Olek</guimenuitem
></menuchoice
>, 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. </para>
</formalpara>

<formalpara id="customize-timeout">
<title
>Edenemisdialoogi näitamise ajavahemik</title>
<para
>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 <menuchoice
><guimenu
>Vaade</guimenu
><guimenuitem
>Erinevus hoidlast...</guimenuitem
></menuchoice
>, 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. </para>
</formalpara>

<formalpara id="customize-compression">
<title
>Pakkimise tase vaikimisi</title>
<para
><command
>cvs</command
> klient tihendab failid ja paigad, kui peab neid võrgus edastama. Pakkimise taseme seab käsurea võti <option
>-z</option
>. 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 <menuchoice
><guimenu
>Hoidla</guimenu
><guimenuitem
>Hoidlad...</guimenuitem
></menuchoice
>. </para>
</formalpara>

</sect1>


<sect1 id="customize-look">
<title
>Välimus</title>

<formalpara id="customize-splitter">
<title
>Peaaken poolitatakse rõhtsalt</title>
<para
>&cervisia; peaaken on tavaliselt jagatud vertikaalselt puuaknaks ja väljundiaknaks. Siin saab aknad korraldada horisontaalselt. </para>
</formalpara>

<formalpara id="customize-protocolfont">
<title
>Protokolliakna font</title>
<para
>Font, mida kasutatakse protokolliaknas. See on aken, mis näitab <command
>cvs</command
> kliendi väljundit. </para>
</formalpara>

<formalpara id="customize-annotatefont">
<title
>Annotatsiooniakna font</title>
<para
>Font, mida kasutatakse annotatsioonivaates. </para>
</formalpara>

<formalpara id="customize-difffont">
<title
>Võrdlemisakna font</title>
<para
>Font, mida kasutatakse võrdlemisdialoogis. </para>
</formalpara>

</sect1>
</chapter>


<chapter id="appendix">
<title
>Lisa</title>

<sect1 id="ignoredfiles">
<title
>Ignoreeritavad failid</title>

<para
>&cervisia; ei näita oma peamises failipuus sugugi mitte kõiki seal tegelikult leiduvaid faile. See on sarnane käsule <command
>cvs</command
>, 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 <command
>cvs</command
>, s.t. hankida ignoreeritavate failide nimekirjad järgmistest allikatest: </para>

<itemizedlist>

<listitem
><para
>Kirjete staatiline nimekiri, kus on sellised elemendid, nagu failid laiendiga <literal role="extension"
>.o</literal
> ja <filename
>core</filename
>. Täpsemat infot leiab &CVS;i käsiraamatust. </para
></listitem>
<listitem
><para
>Failist <filename
><envar
>$HOME</envar
>/.cvsignore</filename
>. </para
></listitem>

<listitem
><para
>Keskkonnamuutujast <envar
>$CVSIGNORE</envar
>. </para
></listitem>
<listitem
><para
>Failist <filename
>.cvsignore</filename
> vastavas kataloogis. </para
></listitem>

</itemizedlist>

<para
><command
>cvs</command
> uurib lisaks veel kirjeid failis <filename
><envar
>$CVSROOT</envar
>/CVSROOT/cvsignore</filename
>, 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 <filename
>.cvsignore</filename
>. </para>

</sect1>
   

<sect1 id="information">
<title
>Täiendav info ja abi</title>

<itemizedlist>

<listitem
><para
>&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 <application
>kdehelp</application
> või <application
>khelpcenter</application
> asukohareale <userinput
>info:/cvs</userinput
>. Samuti võib lihtsalt valida &cervisia; menüükäsu <menuchoice
><guimenu
>Abi</guimenu
><guimenuitem
>CVSi info</guimenuitem
></menuchoice
>. Cederqvisti võib leida ka HTML versioonina <ulink url="http://cvshome.org/docs/manual/cvs.html"
>internetis</ulink
>. </para>

<para
>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. </para
></listitem>

<listitem
><para
>Karl Fogel on kirjutanud suurepärase raamatu <ulink url="http://cvsbook.red-bean.com/index.html"
>Open Source Development with CVS</ulink
> (<quote
>Vaba tarkvara arendamine CVSi abil</quote
>). 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. </para
></listitem>

<listitem
><para
>&CVS;i teemadele on pühendatud omaette <ulink url="http://mail.gnu.org/mailman/listinfo/info-cvs"
>meililist</ulink
>. </para
></listitem>

<listitem
><para
>Seadistuse haldamisele üldiselt on pühendatud USENETi grupp <literal
>comp.software.config-mgmt</literal
>. &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. </para
></listitem>

<listitem
><para
>Ning viimase, kuid sugugi mitte tähtsusetuimana on olemas ka (paraku üsna väheaktiivne) <ulink url="http://lists.sourceforge.net/mailman/listinfo/cervisia-user"
>&cervisia; meililist</ulink
>. </para
></listitem>

</itemizedlist>

</sect1>
   

<sect1 id="commandreference">
<title
>Käskude seletused</title>
      
<!-- File Menu -->
<sect2 id="menufile">

<title
>Menüü Fail</title>

<variablelist>

<varlistentry>
<term
><menuchoice
><guimenu
>Fail</guimenu
> <guimenuitem
>Ava liivakast...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Avab peaaknas liivakasti. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Fail</guimenu
> <guimenuitem
>Hiljutised liivakastid</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Võimalus avada mõni hiljuti kasutatud liivakastidest. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Fail</guimenu
> <guimenuitem
>Lisa ChangeLogi kirje...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Avab ChangeLogi redaktori, kus saab kohe lisada uue käesoleva kuupäevaga kirje. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo
><keycap
>&Ctrl;</keycap
><keycap
>U</keycap
></keycombo
></shortcut
> <guimenu
>Fail</guimenu
> <guimenuitem
>Värskenda</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Rakendab valitud failidele käsku 'cvs update' ning muudab vastavalt nende olekut ja versiooninumbrit. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycap
>F5</keycap
></shortcut
> <guimenu
>Fail</guimenu
><guimenuitem
>Olek</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Rakendab valitud failidele käsku 'cvs -n update' ning muudab vastavalt nende olekut ja versiooninumbrit. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Redigeeri</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Avab valitud faili redaktoris. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Lahenda...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Avab valitud faili dialoogis, kus saab lahendada ühendamisel tekkinud konflikte. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycap
>#</keycap
></shortcut
> <guimenu
>Fail</guimenu
><guimenuitem
>Tee sissekanne...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Võimaldab teha valitud faili(de) sissekande. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycap
>+</keycap
></shortcut
> <guimenu
>Fail</guimenu
><guimenuitem
>Lisa hoidlasse...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Võimaldab lisada valitud faili(d) hoidlasse. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Lisa binaarfail...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Võimaldab lisada valitud faili(d) hoidlasse binaarkujul (<command
>cvs add <option
>-kb</option
></command
>). </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycap
>-</keycap
></shortcut
> <guimenu
>Fail</guimenu
><guimenuitem
>Eemalda hoidlast...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Võimaldab eemaldada valitud fali(d) hoidlast. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Fail</guimenu
><guimenuitem
>Hangi vanem versioon</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Tühistab kõik kohalikus liivakastis valitud faili(de)s tehtud muudatused ning taastab versiooni hoidla põhjal (käsk <command
>cvs update</command
> võtmega <option
>-C</option
>). </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo
><keycap
>&Ctrl;</keycap
><keycap
>Q</keycap
></keycombo
></shortcut
> <guimenu
>Fail</guimenu
><guimenuitem
>Välju</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Lõpetab &cervisia; töö </para
></listitem>
</varlistentry>

</variablelist>

</sect2>

<!-- View Menu -->
<sect2 id="menuview">

<title
>Vaatemenüü</title>

<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
><keycap
>Escape</keycap
></shortcut
> <guimenu
>Vaade</guimenu
><guimenuitem
>Peata</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Peatab kõik töötavad alamprotsessid. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo
><keycap
>&Ctrl;</keycap
><keycap
>L</keycap
></keycombo
></shortcut
> <guimenu
>Vaade</guimenu
><guimenuitem
>Näita logifaili...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Näitab valitud faili versioonipuud. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo
><keycap
>&Ctrl;</keycap
><keycap
>A</keycap
></keycombo
></shortcut
> <guimenu
>Vaade</guimenu
> <guimenuitem
>Näita annotatsiooni...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Näitab valitud faili annotatsioonivaadet, s.t. vaadet, kus iga rea puhul on näha, kes seda viimati redigeeris. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo
><keycap
>&Ctrl;</keycap
><keycap
>D</keycap
></keycombo
></shortcut
> <guimenu
>Vaade</guimenu
><guimenuitem
>Erinevus hoidlast...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Näitab erinevusi livakastis valitud faili ja viimati värskendatud versiooni (BASE) vahel. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Vaade</guimenu
><guimenuitem
>Viimane muudatus...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Näitab erinevusi valitud faili viimati värskendatud versiooni (BASE) ja sellele eelneva versiooni vahel. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Vaade</guimenu
><guimenuitem
>Ajalugu...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Näitab &CVS;i ajalugu, nagu server selle tagastab. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Vaade</guimenu
><guimenuitem
>Rulli failipuu lahti</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Avab failipuu kõik harud, nii et näha on kõik failid ja kataloogid. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Vaade</guimenu
><guimenuitem
>Rulli failipuu kokku</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Sulgeb failipuu kõik harud. </para
></listitem>
</varlistentry>

</variablelist>

</sect2>

<!-- Advanced Menu -->
<sect2 id="menuadvanced">

<title
>Menüü Muud</title>

<variablelist>

<varlistentry>
<term
><menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Silt/haru...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Valitud faili(de)le sildi või haru omistamine. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Eemalda silt...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Eemaldab valitud faili(de)lt konkreetse sildi. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Värskenda silti/kuupäeva...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Annab valitud faili(de)le konkreetse sildi või kuupäeva, muutes selle kleepuvaks. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Värskenda HEAD-harusse...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Annab valitud faili(de)le vastava HEAD versiooni. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Ühenda...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Ühendab konkreetse haru või kahe sildi vahelised muudatused valitud faili(desse). </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Lisa jälgija...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Lisab jälgija valitud faili(de) sündmustele. </para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Eemalda jälgija...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Eemaldab jälgija valitud faili(de) sündmustelt. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Näita jälgijaid</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Näitab valitud faili(de) jälgijaid. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Muuda faile</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Rakendab valitud faili(de)le käsku <command
>cvs edit</command
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Loobu muutustest</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Rakendab valitud faili(de)le käsku <command
>cvs unedit</command
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Näita muutjaid</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Rakendab valitud faili(de)le käsku <command
>cvs editors</command
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Lukusta failid</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Lukustab valitud faili(d) </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Eemalda lukustus</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Eemaldab valitud faili(de) lukustuse. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Muud</guimenu
><guimenuitem
>Loo hoidla suhtes paigafail</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Loob liivakastis tehtud muudatuste põhjal paigafaili. </para
></listitem>
</varlistentry>

</variablelist>

</sect2>

<!-- Repository Menu -->
<sect2 id="menurepository">

<title
>Menüü Hoidla</title>

<variablelist>

<varlistentry>
<term
><menuchoice
><guimenu
>Hoidla</guimenu
><guimenuitem
>Tee väljavõte...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Avab dialoogi, mis võimaldab teha hoidlast mooduli väljavõtte. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Hoidla</guimenu
><guimenuitem
>Impordi...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Avab dialoogi, mis võimaldab importida paketi hoidlasse. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Hoidla</guimenu
><guimenuitem
>Hoidlad...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Võimaldab seadistada sageli kasutatavaid hoidlaid ja juurdepääsu neile. </para
></listitem>
</varlistentry>

</variablelist>

</sect2>

<!-- Settings Menu -->
<sect2 id="menuoptions">
<title
>Seadistustemenüü</title>

<variablelist>

<varlistentry>
<term
><menuchoice
><guimenu
>Seadistused</guimenu
> <guimenuitem
>Kiirklahvide seadistamine...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Avab kiirklahvide seadistamise dialoogi. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Seadistused</guimenu
><guimenuitem
>Cervisia seadistamine...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Avab &cervisia; seadistustedialoogi. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
> Seadistused</guimenu
><guimenuitem
>Värskendamisel luuakse kataloogid</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Määrab, kas värskendamisel luuakse liivakastis kataloogid, mida seal varem polnud (käsu <command
>cvs update</command
> võti <option
>-d</option
>). </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Seadistused</guimenu
><guimenuitem
>Värskendamisel eemaldatakse tühjad kataloogid</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Määrab, kas värskendamisel eemaldatakse liivakastist tühjad kataloogid (käsu <command
>cvs update</command
> võti <option
>-P</option
>). </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Seadistused</guimenu
><guimenuitem
>Rekursiivne värskendamine</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Määrab, kas värskendamine on rekursiivne (käsu <command
>cvs update</command
> võti <option
>-r</option
>). </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Seadistused</guimenu
><guimenuitem
>Rekursiivne sissekannete tegemine ja eemaldamine</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Määrab, kas sissekandmised ja eemaldamised on rekursiivsed (vastavalt käsu <command
>cvs add</command
> ja <command
>cvs remove</command
> võti <option
>-r</option
>). </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Seadistused</guimenu
><guimenuitem
>Automaatse redigeerimise lubamine (cvs edit)</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Määrab, kas käsku <command
>cvs edit</command
> rakendatakse automaatselt alati, kui faili redigeerid. </para
></listitem>
</varlistentry>

</variablelist>

</sect2>

<!-- Help -->
<sect2 id="menuhelp">
<title
>Abimenüü</title>

<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
><keycap
>F1</keycap
></shortcut
> <guimenu
>Abi</guimenu
><guimenuitem
>Cervisia käsiraamat</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Käivitab KDE abikeskuse &cervisia; käsiraamatuga (sellesamaga, mida praegu loed). </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Abi</guimenu
><guimenuitem
>Saada vearaport...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Avab veateate saatmise dialoogi. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Abi</guimenu
> <guimenuitem
>&cervisia; info</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Näitab versiooni ja autorit. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Abi</guimenu
><guimenuitem
>KDE info</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Näitab KDE versiooni ja muud infot. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Abi</guimenu
><guimenuitem
>CVS käsiraamat</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Avab KDE abikeskuses &CVS; infoleheküljed. </para
></listitem>
</varlistentry>

</variablelist>

</sect2>

</sect1>

</chapter>


<chapter id="credits-and-licenses">
<title
>Autorid ja litsents</title>
&underFDL; </chapter>
</book>
