Subversion
Subversion on kehittynyt versionhallintajärjestelmä. Monet projektit ovat viime aikoina siirtyneet CVS:stä Subversioniin. Lyhennetään yleensä SVN.
Asiakasohjelma
Subversion-asiakasohjelma tulee yleensä jakelupaketin paketinhallinnasta subversion-nimisessä paketissa. Tämän jälkeen subversionia käytetään komennolla svn.
- Projektista voidaan ottaa työkopio komennolla svn checkout osoite projekti, esimerkiksi
svn checkout svn://palvelin.example/vapaaprojekti/trunk munprojekti
Hakisi palvelin.example-palvelimen svn-varastosta projektin vapaaprojekti päähaaran, sijoittaen sen paikalliseen munprojekti-hakemistoon.
- Työhakemistossa voi projektiin lisätä tiedostoja komennolla svn add, esimerkiksi
svn add uusfilu.cpp
Vastaavasti svn rm tiedosto
- Tiedostoja voidaan muokata tämän jälkeen työhakemistosta millä tahansa tekstieditorilla.
- Muokkausten jälkeen muutokset päivitetään komennolla svn ci, esimerkiksi
svn ci -m "kommentti"
Jonka jälkeen näet tiedostot, joihin tehdään muutoksia. Tämän jälkeen svn kysyy, suoritetaanko svn-varaston päivitys.
Jos jossain vaiheessa tarvitaan käyttäjätunnusta ja salasanaa (etenkin muutoksia tehtäessä kirjautumista vaaditaan lähes aina), svn kysyy tarvittavat tiedot.
Palvelin
Samassa subversion-paketissa tulee yleensä myös subversion-palvelinohjelma. Subversion-palvelimen käyttöönotto on yksinkertaista.
- Aluksi luodaan koneelle svn-varasto. Esimerkiksi luomme svn-varaston polkuun /var/svn nimellä varasto:
# mkdir /var/svn # cd /var/svn # svnadmin create --fs-type bdb varasto
Joka luo bdb-tyyppisen varaston nimelle varasto, ja /var/svn-hakemistoon ilmestyy hakemisto varasto.
- Luotuun varastoon voidaan myös hakea valmiiksi vähän pohjaa seuraavalla tavalla
svn import /var/svn/kivasvnpohja file:///var/svn/varasto/projektinnimi
- Seuraavaksi tehdään varastoon tarvittavat asetukset. Avaa tiedosto /var/svn/varasto/conf/svnserve.conf. Tiedostossa pitäisi olla useita kommentoituja rivejä joilla on ohjeita asetusten tekemistä varten. Tiedostosta pitäisi tehdä kutakuinkin tällainen (valmiit kommentit napsastu pois):
[general] #Anonyymit saavat lukea (laita read:n tilalle none jos et halua antaa lukuoikeutta) anon-access = read #Kirjautuneille lukuoikeus auth-access = write #käyttäjätunnustiedosto password-db = passwd realm = Varastosi nimi
- Käyttäjätunnukset määriteltiin edellä tiedostoon passwd. Luo siis tiedosto /var/svn/conf/passwd ja lisää sinne rivejä muodossa:
[users] kayttaja1 = salasana kayttaja2 = salasana2
Kun käyttäjän toimet vaativat kirjautumista, kirjautumistiedot tarkistetaan tästä tiedostosta.
- Nyt kun asetukset on tehty, voidaan käynnistää itse svn-palvelin komennolla
svnserve -d -r /var/svn/varasto
-d tarkoittaa, että ajetaan palvelinta taustalla (nk. daemoni). -r-parametri kertoo, missä svn-varasto sijaitsee.
WebSVN
WebSVN on ohjelma, jolla svn-varastoa voi selata suoraan selaimella. Selailun lisäksi onnistuu mm. eri versioiden vertailu keskenään.
Monissa jakeluissa WebSVN löytyy suoraan paketinhallinnasta. Esimerkiksi Debianissa komento apt-get install websvn asentaa WebSVN:n paikoilleen /var/www-hakemistoon (tai vastaavaan). Asetustiedosto sijaitsee tämän jälkeen yleensä joko polussa /etc/websvn/config.inc, tai polussa websvn:n hakemisto/include/config.inc. Ainakin Debianin paketinhallinnasta asennettu versio käyttää oletuksena svn-varastoon polkua /var/svn. Varaston polun voi asettaa rivillä:
$config->parentPath("/var/svn/");
WebSVN:llä tulee olla lukuoikeudet svn-varastoon, ja lisäksi kirjoitusoikeudet varaston db-hakemistoon.