Subversion

A Subversion egy nyílt forrású verziókezelő rendszer. A Subversion segítségével forrásfájlok és dokumentumok előzményeit rögzítheti. Használatával a fájlok és könyvtárak időbeli változásait kezelheti. A fájlokat tartalmazó fa a központi tárolóban található. A tároló hasonlít egy átlagos fájlkiszolgálóra, kivéve hogy a fájlok és könyvtárak minden módosítását feljegyzi.

Telepítés

A Subversion tároló HTTP feletti eléréséhez telepítenie kell egy webkiszolgálót. Az Apache2 jól működik a Subversionnel. Az Apache2 telepítésével és beállításával kapcsolatos információkért nézze meg az Apache2 szakasz HTTP alszakaszát. A Subversion tároló HTTPS feletti eléréséhez digitális tanúsítványt kell telepítenie és beállítania az Apache2 webkiszolgálóra. A digitális tanúsítvány telepítésével és beállításával kapcsolatban nézze meg az Apache2 szakasz HTTPS alszakaszát.

A Subversion telepítéséhez adja ki a következő parancsot:

sudo apt-get install subversion libapache2-svn

A kiszolgáló beállítása

Ez a lépés feltételezi, hogy a fenti csomagokat telepítette a rendszerre. Ez a szakasz ismerteti a Subversion tároló létrehozásának, és a projekt elérésének módját.

Subversion tároló létrehozása

A Subversion tároló a következő parancs kiadásával hozható létre:

svnadmin create /tároló/útvonala/projekt

Fájlok importálása

A tároló létrehozása után fájlokat importálhat a tárolóba. A fájlokat tartalmazó könyvtár importálásához adja ki a következő parancsot:

svn import /importálandó/könyvtár/útvonala file:///tároló/útvonala/projekt

Hozzáférési módok

A Subversion tárolók számos különböző módon érhetők el - helyi lemezen vagy hálózati protokollok használatával. A tároló helye azonban mindig URL. Az alábbi táblázat leírja a különböző URL sémák leképezését az elérhető hozzáférési módszerekre.

16.1. táblázat - Hozzáférési módok

Séma

Hozzáférési mód

file://

közvetlen tárolóelérés (helyi lemezen)

http://

A Subversiont ismerő Apache2 webkiszolgáló elérése WebDAV protokollon keresztül

https://

Ugyanaz, mint a http://, de SSL titkosítással

svn://

svnserve kiszolgáló egyedi protokollon való elérése

svn+ssh://

Ugyanaz, mint az svn://, de SSH alagúton keresztül

Ez a szakasz ismerteti a Subversion beállításának módját az összes fenti hozzáférési módhoz. Itt csak az alapok kerülnek bemutatásra. A részletesebb használati utasításokat az svn könyvben találja.

Közvetlen tároló-hozzáférés (file://)

Mind közül ez a legegyszerűbb hozzáférési módszer. Nem igényli Subversion kiszolgálófolyamatok futását. Ez a módszer a Subversion ugyanazon gépről való elérésére használható. A terminálba kiadott parancs szintaxisa a következő:

svn co file:///tároló/útvonala/projekt

vagy

svn co file://localhost/tárolók/útvonala/projekt

[Megjegyzés]

Ha nem adja meg a gépnevet, három osztásjelet (///) kell használni - kettő a protokollhoz (ebben az esetben file), egy pedig az útvonal kezdő osztásjele. Ha megadja a gépnevet, két osztásjelet (//) kell használni.

A tároló jogosultságai a fájlrendszer jogosultságaitól függenek. Ha a felhasználó rendelkezik írási/olvasási jogosultságokkal, lekérheti a fájlokat a tárolóból, és véglegesítheti is azokat.

Hozzáférés WebDAV protokollon (http://)

A Subversion tároló WebDAV protokollon keresztüli eléréséhez az Apache2 webkiszolgáló beállításait kell módosítani. Vegye fel a következő részletet a <VirtualHost> és </VirtualHost> elemek között az /etc/apache2/sites-available/default, vagy másik VirtualHost fájlba:

 <Location /svn>
  DAV svn
  SVNPath /home/svn
  AuthType Basic
  AuthName "A tároló neve"
  AuthUserFile /etc/subversion/passwd
  Require valid-user
 </Location> 
[Megjegyzés]

A fenti beállítófájl-részlet feltételezi, hogy a Subversion tárolók a /home/svn/ könyvtár alatt jöttek létre az svnadmin paranccsal. Ezután a http://gépnév/svn/tároló_neve URL-címen érhetők el.

A tárolót a HTTP felhasználónak kell birtokolnia a fájlok HTTP feletti importálásához vagy véglegesítéséhez a Subversion tárolóba. Ubuntu rendszereken a HTTP felhasználó általában a www-data. A tároló fájljai tulajdonosának módosításához adja ki a következő parancsot:

sudo chown -R www-data:www-data /tárolók/útvonala
[Megjegyzés]

A tároló tulajdonosának www-data-ra módosítása után nem lesz képes fájlok importálására vagy véglegesítésére a tárolóba az svn import file:/// parancs futtatásával a www-data-tól eltérő felhasználóval.

Ezután létre kell hoznia az /etc/subversion/passwd fájlt, amely majd a felhasználóhitelesítési adatokat tartalmazza. A fájl létrehozásához adja ki a következő parancsot (ez létrehozza a fájlt, és hozzáadja az első felhasználót):

sudo htpasswd -c /etc/subversion/passwd felhasználó_neve

További felhasználók felvételéhez hagyja el a „-c” kapcsolót, mivel ennek megadásakor a parancs helyettesíti a régi fájlt. Ehelyett a következő alakot használja:

sudo htpasswd /etc/subversion/password felhasználó_neve

Ez a parancs bekéri a jelszót. A jelszó megadása után a felhasználó felvételre kerül. Ezután a tároló elérhető a következő parancs futtatásával:

                    
                      svn co http://kiszolgálónév/svn
                    
                  
[Figyelem]

A jelszó egyszerű szövegként kerül átvitelre. Ha a jelszó ellopása miatt aggódik, ajánlott SSL titkosítás használata. Ezt a következő szakasz részletezi.

Elérés WebDAV protokollon SSL titkosítással (https://)

A Subversion tároló WebDAV protokollon keresztüli elérése SSL titkosítással (https://) hasonló a http:// eléréshez, kivéve hogy digitális tanúsítványt kell telepítenie és beállítania az Apache2 webkiszolgálójához. Az SSL és a Subversion együttes használatához adja a fenti Apache2 beállításokat az /etc/apache2/sites-available/default-ssl fájlhoz. További információkért az Apache2 beállításáról az SSL használatára lásd „A HTTPS beállítása” szakaszt.

Telepíthet egy aláíró hatóság által kibocsátott digitális tanúsítványt. Ennek alternatívájaként a saját aláírású tanúsítványt is telepítheti.

Ez a lépés feltételezi, hogy telepített és beállított egy digitális tanúsítványt az Apache2 webkiszolgálójához. Ezután a Subversion tároló eléréséhez nézze meg a fenti szakaszt. A hozzáférési módszerek a protokoll kivételével azonosak. A Subversion tároló eléréséhez a https:// protokollt kell használnia.

Elérés egyedi protokollon keresztül (svn://)

A Subversion tároló létrehozása után beállíthatja a hozzáférés-felügyeletet a /tároló/útvonala/projekt/conf/svnserve.conf fájl szerkesztésével. A hitelesítés beállításához például a beállítófájl következő sorait kell kivenni megjegyzésből:

# [general]
# password-db = passwd

A fenti sorok aktiválása után a passwd fájlban tarthatja karban a felhasználók listáját. Ugyanabban a könyvtárban szerkessze a passwd fájlt, és vegye fel az új felhasználót. A szintaxis a következő:

felhasználónév = jelszó

További részletekért nézze meg a fájlt.

Ezután a Subversion elérhető az egyéni svn:// protokollon, ugyanarról vagy másik gépről. Az SVN kiszolgáló az svnserve parancs kiadásával futtatható. A szintaxis a következő:

$ svnserve -d --foreground -r /tárolók/útvonala
# -d -- démon mód
# --foreground -- futtatás előtérben (hibakereséshez hasznos)
# -r -- kiszolgálandó könyvtár gyökere

A használattal kapcsolatos részletekért adja ki a következőt:
$ svnserve --help

A parancs futtatása után a Subversion elkezdi az alapértelmezett portot (3690) figyelni. A projekttároló eléréséhez futtassa a következő parancsot:

svn co svn://gépnév/projekt projekt --username felhasználó_neve

A kiszolgáló a beállításainak megfelelően bekéri a jelszót. A hitelesítés után lekéri a fájlokat a Subversion tárolóból. A projekt tárolójának és helyi másolatának szinkronizálásához futtassa az update részparancsot. A parancs szintaxisa a következő:

cd projekt_könyvtár ; svn update

Az egyes Subversion részparancsok használatával kapcsolatos további részletekért nézze meg a kézikönyvet. A co (checkout) paranccsal kapcsolatos információkért például adja ki a következő parancsot:

                    
                      svn co help
                    
                  

Hozzáférés egyéni protokollon SSL titkosítással (svn+ssh://)

A beállítás és a kiszolgálófolyamat ugyanaz, mint az svn:// módszer esetén. Részletekért lásd a fenti szakaszt. Ez a lépés feltételezi, hogy követte a fenti szakaszt, és elindította a Subversion kiszolgálót az svnserve paranccsal.

Feltételezzük továbbá, hogy az SSH kiszolgáló fut a gépen, és engedélyezi a bejövő kapcsolatokat. Ennek ellenőrzéséhez próbáljon bejelentkezni a gépre SSH-val. Ha sikerül, minden rendben. Ellenkező esetben ezt a problémát meg kell oldani a folytatás előtt.

Az svn+ssh:// protokollt a Subversion tárolók SSL-lel titkosított eléréséhez használják. Az adatátvitel ezzel a módszerrel kerül titkosításra. A projekt tárolójának eléréséhez (példaként egy lekérés művelettel) a következő parancsszintaxist kell használnia:

svn co svn+ssh://gépnév/var/svn/tárolók/projekt

[Megjegyzés]

Ezzel a hozzáférési módszerrel a Subversion tároló eléréséhez a teljes útvonalat kell használnia (/tárolók/útvonala/projekt).

A kiszolgáló a beállításainak megfelelően bekéri a jelszót. Ekkor az SSH-n keresztüli belépéshez használt jelszót kell megadnia. A hitelesítés után lekéri a fájlokat a Subversion tárolóból.