notification icon
Ne maradj le semmiről! Iratkozz fel értesítéseinkre!

Verziókövetõ rendszerek

hirdetes

Verziókövetõ rendszerek

Facebook logo

KÖVESS MINKET

FACEBOOKON

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:

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

MEGOSZTÁS MEGOSZTÁS MEGOSZTÁS

Ezek is érdekelhetnek

hirdetes

Szótár

vevőorientáció

Olyan gondolkodási mód és gazdálkodási gyakorlat, amely a vállalat minden döntését a vevő... Tovább

Belső referenciaár

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

Tovább a lexikonra