Subversiooni kasutamine käsurealt

Allikas: Kuutõrvaja
(Ümber suunatud leheküljelt Versioonihaldus)

Sissejuhatus

Kujutleme programmeerimisprojekti, mille kallal töötavad korraga mitmed programmeerijad. Töö käigus muudetakse või kustutatakse olemasolevaid ning tekitatakse juurde uusi faile. Oleks vajalik:

  • hoida kõiki projekti kuuluvaid faile ühes kõigile asjaosalistele ligipääsetavas kohas, hoidlas
  • omada võimalust saada kätte suvalisele ajahetkele vastav projekti seis
  • talletada kõikide muudatuste tegemise aeg koos andmetega muudatuse teostaja kohta

Versioonihalduse süsteem (ingl. k. version control system) võimaldab nimetatud vajadusi rahuldada.

Hoidla ja tööversioon

Versioonihalduse kasutamisel on kaks poolt:

  • hoidla
  • igal kasutajal oma tööversioon

Hoidlas asuvad projektile vastavate failide kõik versioonid koos andmetega selle kohta, kes failist uue versiooni tektitas ja kuna seda tehti. CVS on mõeldud valdavalt tekstifailidega ümberkäimiseks. Ühe tekstifaili kõiki versioone hoitakse hoidlas koos ühes failis. Kui tekstifaili muudetakse, siis lisandub hoidlasse faili uus versioon, kusjuures talletatakse vaid erinevused võrreldes eelneva versiooniga.

Kahendfailiga on kõik samamoodi, kuid uue versiooni ilmumisel lisatakse hoidla vastavasse faili juurde kahendfaili uus versioon täies mahus.

Kasutaja tööversioon on projektile vastav kataloogistruktuur faile. Igas tööversiooni kataloogis on CVSi sisemisteks vajadusteks kataloog CVS. CVSi kasutamine eeldab, et kasutajal on olemas tööversioon, mis tekitatakse, tehes hoidlast väljavõtet.

Kujutame näiteks joonisel olukorda, kus kasutajad priit, mart ja laa omavad tööversioone ning suhtlevad hoidlaga. Kui kasutaja priit muudab oma tööversiooni ning soovib, et tehtud muudatustest saaksid ka teised osa, siis teeb ta hoidlasse sissekande. Sarnaselt, kui kasutaja laa soovib oma tööversiooni saada kõiki teiste kasutajate tekitatud muudatusi, peab ta oma tööversiooni värskendama.

Hoidla.jpg

Projekti juhtimine

CVSi seisukohalt on projektijuhi esmane ülesanne alustada projekti. Selle käigus tekitab ta hoidla või kasutab olemasolevat ja sisestab sinna projekti algversiooni. Peale selle juhendab ta kasutajaid kasutama CVSi, teatades neile hoidla asukoha, projekti nime ja vajadusel ka CVSi kasutajanime ja parooli.

Projekti rutiinse arengu jooksul ei ole projektijuhil erilisi kohustusi võrreldes kasutajatega. Tehniliselt ei ole projektijuht kasutajatest oluliselt privilegeeritumas olukorras. See võimaldab mugavalt ülesandeid delegeerida.

Kui projekt on jõudnud teatud tasemele, on vaja teha temast väljaanne. Peale seda võib arendamine jätkuda ja võimalik, et mõne aja pärast tehakse uus väljaanne. Võib teha ka varemtehtud väljaandele parandusi ning anda välja vastav uuendus või arendada ühe projekti mitut tüvest eraldunud erinevat haru.

Ühte hoidlat võib kasutada mitmete projektide hoidmiseks. Kõik hoidlasse või projekti puutuv informatsioon asub hoidla või projekti alla jäävas kataloogistruktuuris ja varukoopiate tegemiseks pruugib see failiõigusi ja omanikke säilitades ära arhiveerida.

Teemad

Rutiinne kasutamine. Selgitatakse, kuidas versioonikontrolli all arendatava projektiga ühineda ja tekitada omale tööversioon. Juttu on igapäevaselt vajaminevate CVSi käskude kasutamisest.

Projekti alustamine. Kirjeldatakse, kuidas projekti versioonikontrolli alla viia, seada tööle CVSi server ja tekitada CVSi kasutajaid.

Keerulised kasutamisvõimalused. Näidatakse, kuidas teha praktiliselt harvem ettetulevaid, kuid siiski olulise tähtsusega toiminguid. Muu hulgas kirjeldatakse projekti mitme paralleelse arendusega tegelemist ja väljaande tekitamist.

© EENet 2000