Ez egy rövid segítség mindenkinek arról, hogy hogyan készíthetünk magunkanak SVN (más néven Subversion) verziókövetõ rendszert UNIX like rendszeren valamint arról, hogy meglévõ projectjeinket hogyan helyezhetjük a felügyelete alá.
A hogyan csak felületes, ezért a részletekért olvasd el az SVN-bookot.
Tegyük fel, hogy a /svnsdir-ben szeretnénk tárolni az összes svn repositoryt meg a hozzá tartozó adatokat is
cd /svnsdir;
Készítsünk egy svnlayout nevû mappát, ebben létrehozzuk az svn repositoryk sablon szerkezetét, ami alap esetben ajánlott trunk, branches és egy tags mappából áll. 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
mkdir svnlayout;
mkdir svnlayout/{trunk,branches,tags};Továbbá létrehozunk mégegy könyvtárat, amiben az összes repository tárolva lesz. Minden projectnek (repositorynak) ebbe a könyvtárba fogunk létrehozni egy-egy saját könyvtárat. Jelen esetben a myproject nevû projectet fogjuk svn-be tenni.
mkdir svnrepos; mkdir svnrepos/myproject;
Az svnadmin paranccsal létrehozhatjuk magát a repositoryt, ahol az adott projecthez tartozó összes információ tárolva lesz
svnadmin create --fs-type fsfs svnrepos/myproject;
Az fs type Berkeley DB (bdb) vagy FSFS lehet, az opció elhagyható. Röviden annyit róluk, hogy a bdb régebbi ezért lassabb, több helyet foglal a HDD-n, stb. Az FSFS régebbi verzióval állítólag voltak problémák, de ugye miért is használnánk régebbit? A Subversion 1.4-es verziójától az FSFS-t részesítik elõnyben.
Hozzuk létre az svn sablon szerkezetét úgy, hogy az elõzõleg az svnlayout könyvtárban elkészített szerkezetet beimportáljuk a frissen megcsinált repoba:
cd svnlayout svn import . file:///svnsdir/svnrepos/myproject --message 'Initial layout creation'; cd ../svndevdirs;
Ha létezõ projectet szeretnénk beemelni az svn-be akkor menjünk be a project könyvtárába, majd svn importtal adjuk hozzá a repohoz a már kész fájlokat:
cd /path/to/projectdir; svn import . file:///svnsdir/svnrepos/myproject/trunk --message 'Import the already created files into the svn repository';
Mivel a fájlok fel vannak töltve a repositoryba, töröljük a könyvtár tartalmát, majd ezután az svn checkout paranccsal az layoutot töltsük le.
rm -rf; svn checkout file:///svnsdir/svnrepos/myproject .;
Ha teljesen új projectet szeretnénk csinálni, akkor az elõzõ import és törlés lépéseket kihagyhatjuk és elég bemennünk a projectünk könyvtárába majd letölteni a friss svn adatbázist:
cd /path/to/projectdir; svn checkout file:///svnsdir/svnrepos/myproject .;
A változásokat az svn status paranccsal kérdezheted le. Ha a serveren lévõ verzió újabb, mint a nálad lévõ, az svn update paranccsal letöltheted azt. Az általad elvégzett módosításokat az svn commit töltheted fel a szerverre. Commitkor erõsen ajánlott a message mezõ kitöltése, ezzel jelezheted magadnak és a projecten dolgozó munkatársaidnak, hogy milyen változtatásokat eszközöltél.
svn commit --message 'Example modification'
További hasznos parancsok lehetnek még: svn add, svn delete, svn diff, svn revert, svn update, svn help, stb.
Az svn parancsok egy részét rövidítheted:
- svn commit = svn ci
- svn checkout = svn co
- svn status = svn st
- svn update = svn up
- svn delete = svn del
- stb.
Az SVN-bookot legalább egyszer mindenképpen olvasd el, hogy megértsd az itt felsorolt megoldásokat és parancsokat, megismerd az SVN a mûködését, filozófiáját és a benne rejlõ lehetõségeket.
Ez a rövid dokumentáció csak arra szolgál, hogy gyorsan létre tudj hozni egy mûködõ svn repository-t, ezért nem helyettesíti a kézikönyv egyik szakaszát sem
A howto Unix like rendszerre szól de az elérési utak módosításával természetesen Windows alatt is használható.






Hozzászólás