Verziókezelő rendszerek - SVN, VisualSVN

Mik azok a verziókezelő rendszerek?

A verziókezelő rendszer lényegében egy olyan háttértár, amely emlékezik a rá másolt fájlok korábbi állapotára is.

Egy SVN tárhelyet repository-nak, egy vagy több fájl rendszerbe tételét commit-nak, a rendszerben levő fájlok lekérését pedig checkout-nak hívjuk.

Minden commit után a rendszer egy új számot rendel a fájlok aktuális állapotához (egy commit után simán nő egyet ez a szám), amit “revision”-nek nevezünk. A commitokhoz egy rövid szöveges leírást lehet és érdemes rendelni, így később megtalálhatóak az egyes változtatások (pl. “hozzáadtam az xyz-t”, “töröltem xzy-t mert elavult volt”, “elgépelés javítása”, stb.). Az egyes állapotokra ezután ezekkel a számokkal lehet hivatkozni: “a 1129-es revisionban”, “a 231-es commitod után bedöglött a rendszer”, “visszaáltam a 42-es revisionre”, stb. Azt a műveletet, amikor kikérjük a rendszerből az aktuális legfrissebb állapotot (miután mások változtattak valamit), egyszerűen “update”-nek hívjuk.

A verziókezelő rendszereket csoportmunkára találták ki, de sokmindenre használhatóak. Érdemes lehet akkor is használni, ha egyedül dolgozunk fájlokon, mivel backupolásra is jól használható. Ha például a Dokumentumok mappát minden nap végén commitoljuk, akkor az egyes szerződések korábbi állapotához is hozzá tudunk férni, illetve ha elveszik az egész mappa, és a verziókezelő rendszerünk egy másik gépen van, könnyedén visszaállíthatunk mindent.

A klasszikus verziókezelő alkalmazás al forráskódok tárolása. lehet átrolni más adatokat is, de azok nagyon ehetik a tárhelyet. A fejlesztéshez sok kényelmi lehetőséget biztosít, kezdve azzal, hogy ha valaki ugyanazon fájl különböző soraihoz nyúl, akkor lehetőséget biztosít összefésülésre: “merge”. A commitok esetén nem fordulhat elő olyan, hogy két vagy több fejlesztő egyszerre commitol valamit, és felülírják egymás változásait. Valaki előbb fog commitolni, és a rendszer jelzi, hogy nem volt friss a helyi változata a fájlnak, előbb egy update-et kell lefuttatni. Az update során ha a rendszer el tudja intézni, akkor összefésülésre kerülnek a fájlok, és nekünk csak annyi dolgunk lesz, hogy becommitoljuk azokat. Ha ugyanazokon a sorokon történt a változtatás, akkor az automatikus összefésülés nem fog sikerülni, de kapunk négy fájlt, egy olyat, amiben jelölve vannak a helyi és a másik commitoló(k) által végzett változtatások, továbbá megkapjuk a verziókezelő legfrissebb fájlát, azt a változatot amit legutoljára kiszedtünk a rendszerből és a mi fájlunk is megmarad. Ez egy nagyon kényelmes szolgáltatás.

A verziókezelőből sok információt ki lehet nyerni, amellett hogy az egyes régebbi változatokhoz is hozzáférünk, ha valamit nagyon elrontottunk, vagy csak meg akarunk nézni egy régebbi változatot. Például le tudjuk kérdezni, hogy egy adott fájlhoz ki nyúlt utoljára, vagy hogy mi az adott fájl története, “history”-ja. Az adott állapotok közötti változások lekérhetőek, akár az egész rendszert, akár egy adott fájlt illetően.

A repository szerkezete.

Általában ban egy projektünk, és abban célszerű létrehozni egy trunk, branches és egy tags mappát.

A trunk mappa tartalmazza majd a fejlesztõi ágat.

A branches a dokumentumok, programok egyes ágainak van fenntartva, így pl. a verziókat is itt tárolhatjuk egymástól elkülönítve.

A tags mappában egy-egy pillanatképet szokás tárolni, így ha van egy jól mûködõ változatod egy programról amit késõbb módosítani szeretnél, elõtte készíthetsz róla egy taget, mintegy extra backupként.

Mi a Subversion?

A Subversion központosított többfelhasználós verziókezelő rendszer. A Repository akár szerveren vagy akár egy helyi számítógépen is elhelyezkedhet.

Leírás a subversionról és annak használatáról.

Valid XHTML 1.0 Transitional Valid CSS file Link firefox.hu pagerank

Design: © 2007-2011 Fábián Zoltán