Munkacsoportos programozás CVS segítségével

A Párhuzamos verziók rendszer (CVS) csoportos programozási környezetben a csapat tagjai a saját munkaterületükön végzik a munkájukat, elszigetelve a többi csapattagtól. Esetenként szükség lehet rá, hogy megosszák a saját munkájukat. Ezt a CVS lerakaton keresztül tehetik meg.

Ágak

A CVS egy ág modellel támogatja a párhuzamos munkafolyamatokat, amelyek egymástól el vannak szigetelve, de mégis nagyban függnek egymástól. Az ágakban osztják meg és integrálják a munkát a fejlesztőcsapat tagjai. Az ágak tekinthetők olyan megosztott munkaterületeknek, amelyeket a csapat tagjai a projekt módosításával folyamatosan frissítenek. A modell lehetővé teszi, hogy az egyes tagok egy CVS csapat projekten dolgozzanak, a módosítások elvégzésekor megosszák a munkájukat a többiekkel, illetve hogy a projekt fejlődésével hozzáférjenek a többiek munkájához. A HEAD nevű speciális ág a fő munkafolyamatot képviseli a lerakatban (a HEAD ágat gyakran törzsnek is nevezik.

Munka megosztása

A csapat tagjai az új részek előállításakor úgy osztják meg az új részeket, hogy végrehajtják azokat az ágon. Ugyanígy, ha a legfrissebb rendelkezésre álló módosításokra van szükségük, akkor frissítik a saját helyi munkaterületüket az ágban található módosításokkal. Így az ág az új részek elküldésével folyamatosan változik, fejlődik.

Az ág hatékonyan képviseli a projekt aktuális állását. A csapat tagjai bármikor frissíthetik a saját munkaterületüket az ágból, így a legfrissebb fázist láthatják.

Együttműködés ágakkal és munkaterületekkel

Optimista csapat modell

A CVS két fontos szolgáltatással segíti a csapatmunkát:

A történet fenntartása azért fontos, hogy az aktuális állapotot össze lehessen hasonlítani egy régebbivel, és ha szükséges, akkor a régebbi verziót vissza lehessen állítani. A munka koordinálása létfontosságú. Biztosítani kell, hogy az aktuális projekt állapotnak legyen egy létező meghatározása, amely az csapat munkáját integrálja. Ezt a koordinációt a termék az ág modellen keresztül biztosítja.

Az optimista modellben a csapat bármely tagja módosíthatja az összes olyan erőforrást, amelyhez van hozzáférése. Mivel a csapat több tagja is végrehajthat módosítást ugyanazon az erőforráson, így ütközések fordulhatnak elő, amelyeket kezelni kell.A modellt azért nevezzük optimistának, mert feltételezi, hogy az ilyen ütközések ritkák.

Ajánlott munkafolyamat

Az erőforrások általában nem elszigetelten léteznek. A legtöbb esetben közvetlenül vagy áttételesen más erőforrásoktól függnek.  A weboldalak például tartalmazhatnak hivatkozásokat más weboldalakra, vagy olyan forráskódokat, amelyek más forráskód erőforrásokban leírt fejlesztés alatt álló részekre hivatkoznak. Egyik erőforrás sem tekinthető külön szigetnek.

Az erőforrások ágban való véglegesítése hatással lehet ezekre a függőségekre. A függőségek egységének biztosítása fontos, mivel az ág a projekt aktuális állapotát képviseli. A csapat tagjai az ág tartalmát bármikor egy újabb munka alapjaként használhatják.

Az ideális munkafolyamatban tehát az ág egységét meg kell őrizni.

Ideális folyamat lépései

Az ideális munkafolyamat a következőképpen zajlik:

  1. Projektkezdés a nulláról. A munka elkezdése előtt a munkaterület erőforrásait frissíteni kell az aktuális ág állapottal. Ha biztos benne, hogy nincs olyan helyi módosítás amelyet figyelembe kéne venni, akkor a leggyorsabban úgy zárkózhat fel, ha kijelöli az érintett projekteket az ágból (vagy a HEAD törzsből), majd kiválasztja a Kiiktatás elemet (vagy a Felülírás > Legfrissebb verzió a lerakatból elemet, ha a projekt már létezik helyi módban). A művelet a helyi erőforrásokat felülírja az ágból származó erőforrásokkal.

  2. Módosítások elvégzése. Végezze el a munkát a saját munkaterületén, hozza létre az új erőforrásokat, módosítsa a meglévőket, majd mentse el helyi módban a módosításokat.

  3. Szinkronizálás. Ha készen áll a módosítások véglegesítésére, akkor végezze el a lerakattal való szinkronizálást.

    1. Frissítés. Vizsgálja meg a bejövő módosításokat, és adja hozzá ezeket a helyi munkaterülethez. Így meghatározhatja, hogy vannak-e olyan módosítások, amelyek hatással vannak azoknak a módosításoknak az integritására, amelyeket véglegesíteni szeretne. Ütközések feloldása. Ismételt tesztelés, integritás ellenőrzők futtatása (ellenőrizni kell például, hogy vannak-e megszakadt hiperhivatkozások, biztosítani kell, hogy a saját kód lefordításra kerüljön, stb.).

    2. Véglegesítés. Mostanra biztos benne, hogy a módosításai illeszkednek a legfrissebb ág tartalomba, így véglegesítheti a módosításait az ágban. Ha biztos akar lenni a dolgában, akkor hajtsa végre ismét az előző lépést, hátha vannak új módosítások.

Ez természetesen az ideális munkafolyamat. Bizonyos feltételek mellett biztos lehet benne, hogy a bejövő módosítások nem érintik a módosításait, így frissítés nélkül véglegesítheti a módosításokat. Ugyanakkor a csapat tagjainak általában a fenti folyamatot kell követniük, hogy még véletlenül se sérüljön az ág integritása. 

A CVS-ről a https://www.cvshome.org. Internet címen talál további információkat.

Kapcsolódó fogalmak
CVS lerakatok
Ágak
Verziók
Szinkronizálás CVS lerakattal

Kapcsolódó feladatok
CVS lerakat helyek létrehozása

Projektek kiiktatása a CVS lerakatokból
 
Erőforrások felülírása a munkaterületen

Új projekt megosztása CVS használatával

Szinkronizálás a lerakattal

Frissítés

Ütközések feloldása

Összefésülés ágból

Véglegesítés

Kapcsolódó leírás
CVS