Subversion

Mureakuha

Loikkaa: valikkoon, hakuun

Subversion ("svn") on ilmainen open-source versionhallintatyökalu, joka on tarkoitettu CVS:n korvaajaksi. Se korjaa CVS:n suurimmat puutteet ja sisältää monia uusia ominaisuuksia.

Ominaisuuksia

  • Apache-palvelin WebDAV/DeltaV-protokollalla
  • Hakemistot, uudelleennimeämiset ja metadata versioidaan
  • Sisältää oman serveriohjelman, koska kaikki eivät halua käyttää Apache 2.x:ää
  • Asiakasohjelmat ja palvelimet lähettävät diffejä säästääkseen kaistaa (CVS lähettää vain palvelimelta asiakkaalle)
  • Lokalisoidut viestit
  • Ohjelman tulostus on suunniteltu ohjelmallisesti parsittavaksi ja samalla ihmiselle selvälukuiseksi

Subversion palvelin

Subversion palvelin on melko helppo asentaa. Distrosi paketinhallinnasta löytyy varmasti tarvittavat paketit ja asentaminen onnistuu yhdellä komennolla (Debianissa apt-get install subversion-tools).

Luodaan kansio repositoryille ja luodaan sinne projekti.

  • mkdir /var/svn
  • svnadmin create /var/svn/projekti

Muokkaa tiedostoa "/var/svn/projekti/conf/svnserve.conf" seuraavanlaiseksi. Tämä ei kuitenkaan ole liian turvallista joten lue manuaalisivu svnserve.conf(5).

[general]
anon-access = read

Tämän jälkeen käynnistetään svnserve, joka on svn:n oma palvelinohjelma. Tehokkaampi tapa olisi käyttää Apachea tähän. Käynnistäminen onnistuu kätevästi seuraavalla skriptillä, jonka voi sijoittaa tiedostoon /etc/init.d/svn.

#!/bin/sh -e
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
SVNSERVE=svnserve
 
case "$1" in
    start)
        echo -n "Starting svn... "
        $SVNSERVE -d -r /var/svn
        echo "Done"
    ;;
    stop)
        echo -n "Stopping svn... "
        killall $SVNSERVE # ei paras lähestymistapa, mutta toimii
        echo -e "Done"
    ;;
    force-reload|restart)
        $0 stop &
        sleep 1
        $0 start
    ;;
    *)
        echo "Usage: /etc/init.d/svn {start|stop|restart|force-reload}"
        exit 1
    ;;
esac
exit 0

Subversion-serverin jälkeen voitkin jo kokeilla toimivuutta.

  • svn co svn://ip-osoitteesi/projekti
  • cd projekti/ ; echo hello > world
  • svn add world
  • svn ci -m "Ensimmäinen committaus. Lisätty tiedosto world."

Linkkejä


Tämä artikkeli on tynkä. Voit auttaa Kuhaa täydentämällä tämän sivun tietoja.
Henkilökohtaiset työkalut