Subversion

A HupWiki-ből...

Verziókövető rendszer, gyakorlatilag a CVS nagykorú változatának tekinthető. Mi is volt a baj a CVS-sel? Például a következők:

  • Nem volt benne atomi kommit. Ez több esetben is galibát okozhatott: két programozó, ha majdnem egyszerre indította meg a kommittálást, az egymással esetleg ütköző módosítások közül csak a később beérkező élte túl a dolgot, és erről egyik emberi fél sem szerzett tudomást. Kommittálás közben meghaló hálózati kapcsolat is inkonzisztens állapotban hagyhatta a kódtárat (repository).
  • Biztonsági gondok.
  • Az eredeti CVS pár shell script-ként indult, a hálózatikapcsolat-kezelés (pserver) is úgy nőtt rá később.
  • Ágak (branch) és címkék (tag) kezelése nem túl elegáns.

A sok toldozás miatt a CVS az 1990-es évek végére elérte azt a fájdalomküszöböt, amikor páran azt mondták, hogy "elég volt", és teljesen elölről nekiálltak valami átgondoltabbat csinálni. Ez lett a Subversion (röviden SVN), ami a következő jó tulajdonságokkal büszkélkedhet:

  • Szabványos a hálózati protokollja (például WebDAV+DeltaV). Ha valaki nem bízik a Subversion kódolóiban, pár RFC elolvasása után összehozhat egy saját klienst és ugyanúgy elérhet minden Subversion kódtárat.
  • Ágak és címkék mind egységesen a másolás paranccsal megoldva, nincs vacakolás.
  • Atomi kommit, vagyis nagyobb adatbiztonság (a megbízhatóság, nem a titkosság értelmében).
  • A neve jó szóvicc. Az egyik jelentése ugye "sub"+"version"="al"+"változat". A másikhoz érdemes visszaemlékezni az átkos 40 évre: "A szocializmus ellenségei felforgató tevékenységükkel akarták megakadályozni a népet az osztályharc győzelemre vitelében", stb. Ebből a "felforgató tevékenység" angolul "subversion".

Pár kívánnivaló azért még ezzel a szoftverrel is akad:

  • Nincsenek benne teljesen elosztott kódtárak (irigykedjünk a BitKeeper-re -- de azért az arch már egy lépés ebbe az irányba).
  • Tudomásom szerint nincsenek benne mindenfelé ellenőrzőösszegek (megintcsak a BitKeeper említhető jó példaként), és egyesek pedzegetik a "minden kommit csak nyilvános kulcsú azonosítás után fogadható el" hiányát is (ebben meg az OpenCM a király).

GUI, vagyis grafikus felületek

Linuxon a legelterjedtebb GUI a RapidSVN, míg Windows alapú rendszereken a TortoiseSVN ajanlandó.

Linkek