Własne repozytorium SVN

Subversion(w skrócie svn) jest systemem kontroli wersji, który zastąpił CVS. System stosowany do kontrolowania zmian w projektach. Innymi systemami stosowanymi przez programistów jest git, bzr i Mercurial.

Realizacja w OpenWrt

Wymagana jest instalacja serwera svn:

opkg update
opkg install subversion-server # dla serwera
opkg install subversion-client # dla klienta

oraz utworzenie prostego repozytorium o nazwie np. mojerepo. Repozytorium najlepiej utworzyć na podmontowanym nośniku, nie zajmujemy w ten sposób miejsca w pamieci routera. Zakładam ze nośnik podmontowamny jest w /mnt/hdd/:

mkdir /mnt/hdd/mojerepo
svnadmin create /mnt/hdd/mojerepo
uci set subversion.@subversion[0].path=/mnt/hdd   (katalog niżej!!)
uci commit subversion

Edytujemy plik konfiguracyjny i ustalamy prawa zapisu i odczytu. Zakładamy, że anonim może pobrać nasze repo, zapisywać tylko osoby znające hasło:

vi /mnt/hdd/mojerepo/conf/svnadmin.conf
anon-access = read
auth-access = write

password-db = passwd

Ustalamy nazwę/y uzytkownika/ów oraz hasła w pliku /mnt/hdd/mojerepo/conf/passwd

[users]
wladek = tajne_haslo_wladka
zosia = to_jest_haslo_zosi

Uruchamiamy serwer

/etc/init.d/subversion start

Autostart

/etc/init.d/subversion enabled

Testujemy repo

Warto sprawdzić czy działa nasze repozytorium:

Pobieramy repozytorium

cd /tmp
svn co svn://localhost/mojerepo
cd mojerepo

Tworzymy próbny plik i wysyłamy:

touch plik.txt
svn add plik.txt
svn commit --username wladek
(wpisujemy notatkÄ™ dotyczÄ…ca zmian, np. proba)

UWAGA: Przy svn commit zostaniemy poinformowani o braku domyślnego edytora plików, należy wówczas wydać komendę:

 export SVN_EDITOR=vi (lub inny edytor)

przyszłościowe rozwiązanie to edycja /etc/rc.local i przed exit 0 dodać to samo co wyżej.

Ostatecznie zostaniemy zapytani o nazwę użytkownika i hasło, wpisujemy to co ustaliliśmy na początku.

Dajemy dostęp z zewnątrz

Otwieramy port w zaporze:

uci add firewall rule
uci set firewall.@rule[-1]._name=svn
uci set firewall.@rule[-1].src=wan
uci set firewall.@rule[-1].target=ACCEPT
uci set firewall.@rule[-1].proto=tcp
uci set firewall.@rule[-1].dest_port=3690
uci commit firewall
/etc/init.d/firewall restart

Domyślnie Subversion działa na porcie 3690, zmian portu można dokonać przez uci:

uci subversion.@subversion[0].port=3690
uci commit subversion
zastosowania/repozytorium-svn.txt · ostatnio zmienione: 2011/09/01 17:30 przez arteq
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0
Profesjonalny Hosting