Subversion to system kontroli wersji plików. W każdej organizacji, firmie, zespole programistów z pewnością przyda się możliwość trzymania różnych wersji tego samego dokumentu, przeglądania co kiedy się zmieniło, czy kto wprowadził zmianę.
Wersja z własnym demonem
Uruchomienie demona svn
Demon programu nosi nazwę svnserve. Jeżeli chcemy uruchomić go w trybie demona dodajemy opcję -d. Dodatkowo należy dodać opcję -r oraz nazwę katalogu, w którym należy szukać repozytoriów svn. Program domyslnie działa na porcie 3690.
svnserve -d -r /data1/subversion/
Autoryzacja użytkowników
Każdy katalog projektu posiada podkatalog conf, w nim jest główny plik konfiguracyjny svnserve.conf. W nim podajemy nazwę pliku, w którym przechowujemy nazwy użytkowników oraz hasła. Domyslnie jest to plik passwd. Przykładowy plik konfiguracyjny to:
[users] ziutus = super_tajne_haslo
Wersja bez demona (lokalny dostęp albo dostęp z ssh)
Użytkownicy
W tej wersji trzeba używać systemowych użytkowników.
groupadd svn usermod -a -G svn ziutus chgrp svn /data/svn/repos chmod g+w /data/svn/repos/ chmod g+s /data/svn/repos/ umask 002 svnadmin create /data/svn/repos/unix_admin umask 022 chmod g+w /data/svn/repos/unix_admin/db/rep-cache.db
założenie repozytorium
svnadmin create sciezka_dostepu/nazwa_repozytorium
Program w tym momencie utworzy drzewo katalogów w wskazanym miejscu na dysku. Wygodnie jest stworzyć osobny katalog systemowy. Gdy nie podamy mu ścieżki dostępu struktura zostanie utworzona w katalogu bieżącym (za pierwszym razem utworzył mi w katalogu roota ;)). Od tej chwili możemy już pobierać i ładować pliki do repozytorium.
Zaimporotowanie do svn danych
Stworzenie repozytorium dla istniejących już danych można dokonać „importując” je do repozytorium SVN. Służy do tego polecenie import, za którym podajemy adres serwera i nazwę repozytorium.
svn import svn+ssh://svn.k2studio.eu/linuxexpert_dev
Tworzenie kopii (Pusty katalog) z kopii serwerowej
terminal-3-67:/www# svn checkout svn+ssh:/data1/subversion/websyslog/ data1/www/websyslog.ziutus.waw.pl/www/htdocs/ Checked out revision 0.
dodanie plików do svn-a
svn add *
Wgranie wersji do subvesion
svn commit
kontrola kto co wprowadził do pliku i w której wesji
svn blame nazwa_pliku
historia zmian (opisy i wersje pliku)
svn log
Wykorzystanie SVN-a z punktu widzenia administratora
- Utrzymywanie historii zmian plików konfiguracyjnych z /etc/
- Utrzymywanie historii zmian stron stron domowych użytkowników serwera (przydatne do określania kiedy co się zmieniło w ich stronach, często pomaga rozwiązać konflikty jak również może stanowić rodzaj backupu).
- Udostępnienie usługi klientom oraz pracownikom firmy.