Svn – prowadzenie do zarządzania serwerem subversion dla administratorów

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ę.

Contents

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

  1. Utrzymywanie historii zmian plików konfiguracyjnych z /etc/
  2. 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).
  3. Udostępnienie usługi klientom oraz pracownikom firmy.

Dodaj komentarz