Ryhmäohjelmointi CVS-järjestelmässä

Ryhmien CVS (Concurrent Versions System) -ohjelmointiympäristössä ryhmän jäsenet tekevät kaiken työnsä omissa työympäristöissään, erillään toisistaan. Ennemmin tai myöhemmin he haluavat määrittää työnsä yhteiskäyttöön. Tähän käytetään CVS-tietovarastoa.

Haarat

CVS tukee haaramallin avulla useita työreittejä, jotka ovat jonkin verran eristettyjä toisistaan, mutta kuitenkin hyvin riippuvaisia keskenään. Haarojen avulla sovelluskehittäjien ryhmä voi määrittää töitään yhteiskäyttöön ja integroida töitään. Haaraa voidaan ajatella yhteiskäytössä olevana työtilana, jota ryhmän jäsenet päivittävät tehdessään muutoksia projektiin. Mallin avulla työntekijät voivat käsitellä CVS-ryhmäprojektia, määrittää työnsä yhteiskäyttöön muiden kanssa muutoksia tehtäessä sekä käsitellä muiden töitä projektin edistyessä. Erityishaara, johon viitataan nimellä päähaara (HEAD), vastaa töiden pääreittiä tietovarastossa (päähaaraa kutsutaan usein rungoksi).

Töiden määritys yhteiskäyttöön

Kun ryhmän jäsenet tuottavat uusia työtuloksia, he voivat määrittää nämä työt yhteiskäyttöön vahvistamalla muutokset haaraan. Kun ryhmän jäsenet vastaavasti haluavat saada uusimmat käytettävissä olevat työtulokset, he voivat päivittää paikalliset työtilansa haaran muutosten mukaisiksi.Näin ollen haara muuttuu jatkuvasti, kun ryhmän jäsenet lähettävät uusia töitään.

Haara esittää projektin nykyisen tilan tehokkaasti. Ryhmän jäsenet voivat milloin tahansa päivittää työtilansa haaran avulla ja varmistaa, että he ovat ajan tasalla.

Haarojen ja työympäristöjen vuorovaikutustapahtumat

Optimistinen ryhmämalli

CVS-järjestelmässä on kaksi tärkeää ominaisuutta, joita tarvitaan ryhmässä työskentelyä varten:

Historiatietojen hoito on tärkeää, jotta nykyisiä töitä voidaan verrata aiempiin luonnoksiin, tai jotta tarvittaessa voidaan palata paremmin toimivaan aiempaan versioon ja niin edelleen. Töiden koordinointi on ehdottoman tärkeää, jotta nykyisestä projektin tilasta on vain yksi määritelmä, joka sisältää ryhmän integroidut työt. Koordinointi toteutetaan haaramallin avulla.

Optimistinen malli on malli, jossa kuka tahansa ryhmän jäsen voi tehdä muutoksia mihin tahansa resurssiin, jota hän voi käsitellä. Kaksi ryhmän jäsentä voi vahvistaa haaraan saman resurssin muutoksia, joten ristiriitoja saattaa ilmetä, ja ne on käsiteltävä.Mallia kutsutaan optimistiseksi, koska ristiriitojen oletetaan olevan harvinaisia.

Suositeltava työn kulku

Yleensä resurssit eivät ole irrallisia, vaan ne sisältävät epäsuoria tai suoria riippuvuuksia muihin resursseihin. Web-sivuissa esimerkiksi on linkkejä muihin Web-sivuihin, ja lähdekoodissa on viitteitä kohteisiin, jotka on kuvattu muissa lähdekoodin resursseissa. Yksikään resurssi ei ole yksin.

Kun resursseja vahvistetaan haaraan, muutokset saattavat vaikuttaa resurssien riippuvuussuhteisiin. Riippuvuussuhteiden eheyden varmistaminen on tärkeää, koska haara vastaa projektin nykyistä tilaa; ryhmän jäsen voi milloin tahansa ottaa haaran sisällön uusien töidensä perustaksi.

Näin ollen ihanteellisessa käsittelyreitissä haarojen eheys säilytetään.

Ihanteellisen käsittelyreitin vaiheet

Ihannetapauksessa käsittelyreitti etenee seuraavasti:

  1. Aloita puhtaalta pöydältä. Ennen kuin aloitat työt, päivitä työtilan resurssit vastaamaan haaran nykyistä tilaa. Jos olet varma, ettei käsiteltävänä ole tärkeitä paikallisia töitä, saat työtilan päivitettyä nopeimmin valitsemalla haluamasi projektit haarasta (tai päähaarasta (HEAD)) ja valitsemalla Kuittaa ulos (tai Korvaa > tietovaraston uusimmalla muutosversiolla, jos projektit ovat jo paikallisia). Järjestelmä korvaa paikalliset resurssit haaran resursseilla.

  2. Tee muutokset. Työskentele paikallisesti omassa työympäristössäsi, luo uusia resursseja, muokkaa aiemmin luotuja resursseja ja tallenna muutokset paikallisesti.

  3. Synkronoi. Kun olet valmis vahvistamaan työsi, synkronoi tietovaraston kanssa.

    1. Päivitä. Tutki saapuvat muutokset ja lisää ne omaan työympäristöösi. Tällöin voit selvittää, vaikuttavatko mahdolliset muutokset niiden kohteiden eheyteen, jotka aiot itse vahvistaa. Selvitä ristiriidat. Tee testi uudelleen, aja eheystarkistukset (tarkista esimerkiksi hyperlinkkien toiminta ja koodin kääntyminen).

    2. Vahvista. Kun olet varma, että muutoksesi soveltuvat haaran uusimpaan sisältöön, vahvista muutokset haaraan. Voit varmuuden vuoksi vielä toistaa edellisen vaiheen ja tarkistaa, onko uusia tulevia muutoksia.

Tämä on ihanteellisen käsittelyreitin kuvaus. Joissakin tilanteissa käyttäjä saattaa olla varma siitä, etteivät saapuvat muutokset vaikuta hänen työhönsä, ja vahvistaa työt ilman päivitystä. Yleensä ryhmän jäsenten tulee kuitenkin pyrkiä noudattamaan yllä kuvattua käsittelyreittiä, jotta haaran eheyttä ei vaaranneta turhaan. 

Lisätietoja CVS-järjestelmästä on osoitteessa http://www.cvshome.org.

Aiheeseen liittyviä käsitteitä
CVS-tietovarastot
Haarat
Versiot
Synkronointi CVS-tietovaraston kanssa

Aiheeseen liittyviä tehtäviä
CVS-tietovarastopaikan luonti

Projektin uloskuittaus CVS-tietovarastosta
 
Työympäristön resurssien korvaus

Uuden projektin määritys yhteiskäyttöön CVS-hallinnan avulla

Synkronointi tietovaraston kanssa

Päivitys

Ristiriitojen selvitys

Yhdistäminen haaran tietojen kanssa

Muutosten vahvistus

Aiheeseen liittyviä ohjeita
CVS