notification icon
Ne maradj le semmiről! Iratkozz fel értesítéseinkre!
Máté Balázs online marketing asztali

Verziókövetõ rendszerek

Verziókövetõ rendszerek

hirdetes

Iratkozz fel Te is Youtube csatornánkra, kattints az alábbi YOUTUBE ikonra! 

 

 

 

Ma már szinte közhely, hogy a szoftverfejlesztésben a magányos hõsök ideje lejárt. Kulcsfontosságú, hogy a fejlesztõ csapat tagjai hatékonyan tudják a programban az egymás által módosított részeket követni. Erre szolgálnak az ún. verziókövetõ rendszerek.

Honlapkészítés online marketing tanácsadó segítéségvel? A hatékony honlapkészítés titka az online marketing tanácsadás alapján készülõ honlap!

Kérje ajánlatunkat itt!

Verziókövetõ rendszerek

Az alapprobléma

A probléma már akár két fejlesztõ esetében is jelentõs lehet. Tételezzük fel, hogy a projekt több fájlból áll. Mindkét programozónak érdeke, hogy a másik által eszközölt változásokat azonnal megkapja. Ennek egy lehetséges - ám nem a legjobb - megoldása, ha elküldik egymásnak a friss változatokat, akár e-mailen. Azonban még ekkor is problémát okozhat, ha kettejük között a fizikai távolság nagy, hiszen az rendkívüli mértékben megnehezíti az egyeztetést.
Azonban mi történik akkor, ha mindketten ugyanazon a modulon dolgoznak?
Ekkor nyújthat segítséget a verziókövetõ rendszer. Az angolul CVS (Concurrent Versions System, vagy Concurrent Versioning System) néven ismert rendszer valójában egy fájladatbázis, ami a különbözõ felhasználók által küldött módosításokat tartja nyilván. Az adatbázisában megtalálható valamennyi, a projekten eszközölt változtatás, és az is, hogy az egyes módosításokat ki hajtotta végre.

Munkavégzés CVS-sel

A rendszeren végzett módosítás elõtt az elsõ feladat a rendszer fájljainak a lokális gépre történõ áttükrözése - vagyis frissítése -, hiszen lehet, hogy valaki már módosította a nekünk szükséges modulokat. Ezt a folyamatot nevezik "update"-nek, vagy "check out"-nak.
Ezek után el lehet kezdeni a megfelelõ forrásfájlok módosítását. Ez a fájl a fejlesztõ gépén található munkapéldány, amit rajta kívül nem lát senki.
Ideális esetben a módosítások végeztével az elõbb említett mûvelet fordítottját "commit"-ot (vagy "check in"-t) kell végrehajtani a megváltoztatott fájlon, és ekkor az bekerül a központi fájladatbázisba (repository). Innentõl kezdve ha másik fejlesztõ update-eli saját munkapéldányát, õ is látni fogja az általunk eszközölt változtatásokat.

hirdetes

Fájlok megosztása

Könnyen elképzelhetõ olyan szituáció is, amikor egyszerre két felhasználó ugyanazon a fájlon akar dolgozni. Ennek feloldása kétféleképpen képzelhetõ el:

  • Lock-Modify-Unlock módszer
  • Copy-Modify-Merge módszer

Lock-Modify-Unlock

A CVS megvalósítása és menedzselése szempontjából egyszerûbbnek tûnõ változatban a fájlon végzett check out blokkolja a fájllal végzett további mûveleteket. Tehát egy fájlt egyszerre csak egy felhasználó tud a repository-ból "kikérni". A módosítások megtörténte után ez a felhasználó check in-t hajt végre, innentõl kezdve más számára ismét elérhetõ lesz az adott modul.

Copy-Modify-Merge

Ezen megoldás alkalmazásakor a CVS megengedi azt, hogy egy fájlból több, párhuzamos munkapéldány készüljön. Tegyük fel, hogy három felhasználó kéri ki ugyanazt a modult. A legegyszerûbb dolga annak lesz, aki elõször küldi vissza módosításait a repository-nak. (A check out sorrendje tehát nem számít.)
A munkájával másodikként végzõ felhasználó a commit mûvelet végrehajtása közben azonban azzal szembesül, hogy a szerveren található fájl a munkapéldány létrehozása óta megváltozott ("out of date"). Mivel a változások nem fedik át egymást, ezért a rendszer felajánlja, hogy a változásokat egyesítse. A mûvelet elõtt természetesen a másodikként érkezõ programozó átolvashatja, hogy mi lesz annak a végeredménye.

hirdetes
A változtatásokkal utoljára végzõ fejlesztõ viszont egy kissé komolyabb - ám a gyakorlatban meglehetõsen ritkán elõforduló - gonddal találkozik: az elõzõ két változtatás átfedi az általa is módosított kódrészletet ("conflict"). Ezt sajnos nem lehet automatikusan kezelni, így a problémát a másik két feljesztõvel való konzultáció alkalmazásával lehet csak feloldani. Ha megvan, hogy melyik részlet maradjon meg, a változtatásokat a harmadik felhasználó is beküldheti.

CVS a gyakorlatban

Fejlesztési feladataink elõsegítéséhez számos verziókövetõ rendszert vehetünk igénybe, nyílt forráskodút és kereskedelmit egyaránt. Elõbbi típusból kedvelt a TortoiseSVN, míg ha pénzt is hajlandók vagyunk áldozni rá, akkor - a jelenleg IBM által birtokolt - Rational ClearCase and ClearTool rendszert érdemes kiemelni, amely többek között konfigurációmenedzsmentet, illetve nagyobb méretû bináris fájlokkal való munkavégzést is lehetõvé tesz.
Azonban a verziókövetõ rendszerek nem csodaszerek; a leírtak alapján belátható, hogy alkalmazásuk mellett is szükséges a fejlesztõk közti magas szintû kommunikáció. Nem használhatóak továbbá az ilyen típusú rendszerek akkor sem, ha a közös munka tárgya feloszthatatlan. Tipikusan ilyenek a nem szöveg alapú fájlok: a kép-, vagy hangfájlok, amelyeknek a programsorokhoz hasonló automatizált összefésülésére nincs lehetõség.

Honlapkészítés online marketing tanácsadó segítéségvel? A hatékony honlapkészítés titka az online marketing tanácsadás alapján készülõ honlap!

Kérje ajánlatunkat itt!

Forrás:

hirdetes

Ha tetszett ez a cikk, oszd meg ismerőseiddel, kattints ide:

MEGOSZTÁS MEGOSZTÁS MEGOSZTÁS MEGOSZTÁS

Ezek is érdekelhetnek

hirdetes
hirdetes

Hasznos volt számodra ez a cikk?

Mondd el mennyire!

Szavazatok száma: 185

Átlagos értékelés: 4.8

Szótár

Belső referenciaár

Az az érték, melyet a fogyasztó egy adott áruért indokoltnak tart megadni. Tovább

környezeti politika

környezeti politika Egy szervezet környezeti teljesítményére vonatkozó általános... Tovább

Tovább a lexikonra