Épp ideje verzió követőt telepíteni, az évek során sokszor hasznos lett volna. Rövid keresgélés után a subversion mellett döntöttem.
Gentoo alatt a telepítés megkezdése egy szempillantás, de azért én szeretek ránézni, hogy mi is fog települni és milyen USE flagekkel:
# emerge -a subversion
A -a parancs az 'ask', tehát nem kezd ész nélkül fordításba, hanem megmutatja, hgoy mit fog fordítani és milyen flagek vonatkoznak rá. Nekem jó, mehet. Bár a neon csomag frissítése még sok másik csomag frissítését vonja maga után, de ez van (aki ezt nem bírja, térjen át Ubuntura...).
Az emerge végén:
* Subversion Server Notes
* -----------------------
*
* If you intend to run a server, a repository needs to be created using
* svnadmin (see man svnadmin) or the following command to create it in
* /var/svn:
*
* emerge --config =dev-util/subversion-1.5.4
*
* Subversion has multiple server types, take your pick:
*
* - svnserve daemon:
* 1. Edit /etc/conf.d/svnserve
* 2. Start daemon: /etc/init.d/svnserve start
* 3. Make persistent: rc-update add svnserve default
*
* - svnserve via xinetd:
* 1. Edit /etc/xinetd.d/svnserve (remove disable line)
* 2. Restart xinetd.d: /etc/init.d/xinetd restart
*
* - svn over ssh:
* 1. Fix the repository permissions:
* groupadd svnusers
* chown -R root:svnusers /var/svn/repos/
* chmod -R g-w /var/svn/repos
* chmod -R g+rw /var/svn/repos/db
* chmod -R g+rw /var/svn/repos/locks
* 2. Create an svnserve wrapper in /usr/local/bin to set the umask you
* want, for example:
* #!/bin/bash
* . /etc/conf.d/svnserve
* umask 002
* exec /usr/bin/svnserve ${SVNSERVE_OPTS} "$@"
*
* - http-based server:
* 1. Edit /etc/conf.d/apache2 to include both "-D DAV" and "-D SVN"
* 2. Create an htpasswd file:
* htpasswd2 -m -c /var/svn/conf/svnusers USERNAME
*
* If you intend to use svn-hot-backup, you can specify the number of
* backups to keep per repository by specifying an environment variable.
* If you want to keep e.g. 2 backups, do the following:
* echo '# hot-backup: Keep that many repository backups around' > /etc/env.d/80
subversion
* echo 'SVN_HOTBACKUP_BACKUPS_NUMBER=2' >> /etc/env.d/80subversion
Valamiért a httpd2 alapú SVN-t választottam. Ez kisebb módosításokat igényel a /etc/apache2/httpd.conf fájlban.
DAV svn
# Nekem a gentoo alapból ide telepíti
SVNPath /var/svn/
DAV svn
SVNParentPath /var/svn
Ezután már el is érhető a repo a böngészőben (nekem készült egy repos nevű repo): http://localhost/svn/repos.
Ha az svnadmin -t használva létrehozunk egy repository-t, akkor az a /var/svn alá kerül be és az előző módon érhető el a böngészőből:
# svnadmin create Teszt
Aztán egy howto meglengette előttem a Trac használatát és én bele is vágtam. Ez egy picit eltolja a dolgok végét, mert a pythont és társait újra kell fordítanom sqlite USE flaggel.
Hm, addig is kis google után belefutottam egy nagy bajba: a gentoo-wiki elvesztette az adatbázisát (miért nem kérik le a lapokat a google-cacheből?!), viszont cachelve megtaláltam az SVN howtot. Mondhatni, talán a legjobb. Igen kár a wikiért! :(
Úgyhogy ennek segítségével el is kezdtem a folytatást: létre kell hozni három könyvtárt.
- Trunk: ebben lesz mindig a legfrisseb stabil verzió.
- Tags: Itt vannak a különböző lényegi verzióváltások (v1, v2, v3).
- Branches: elágazások. Olyan esetekre, ha pl néhány fejlesztő későbbi feautre-on dolgozik. Így az a félkész rész nem kell, hogy bekerüljön a stabil verziókba.
Én nem tudom, hogy szükséges-e a fájlok tulajdonosának az apache felhasználót megadni, de megtettem (mivel az svn apachként fut nálam).
# chmod apache.apache /var/svn/Teszt/{trunk,tags,branches}
És most jön az első import. Ehhez az importálandó projekt gyökerében kell lenni! (Az importálás kezdete a '.'.)
# svn import . file:///var/svn/Teszt/trunk -m 'Elso import'
Szerencsésen "Commited 1 revision." a végeredmény. A teszteléshez listáztathatjuk a fileokat:
# svn ls file:///var/svn/Teszt/trunk
Természetesen ezt akár a webszerveren keresztül is intézhetjük:
# svn ls http://localhost/svn/Teszt/trunk
Folytatása következik...
Nincsenek megjegyzések:
Megjegyzés küldése