2008-10-10

SVN

wgranie pakietów
instalacja cvs2svn
make install
lub
apt-get install apache2
apt-get install subversion
apt-get install libapache2-svn
dodanie grupy svn
dodanie usera na którym jest apache do grupy svn
stworzenie repozytorium
zmiana grupy plików i katalogów repozytorium na grupę svn i uprawnienia 770

konfiguracja w pliku httpd.conf:
LoadModule dav_module /usr/lib/httpd/modules/mod_dav.so
LoadModule dav_svn_module /usr/lib/httpd/modules/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/httpd/modules/mod_authz_svn.so

<Location /svn>
SetOutputFilter DEFLATE
SetInputFilter DEFLATE
DAV svn
SVNParentPath /u02/svn_home
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /u01/apache2/conf/[password_file]
Require valid-user
#SVNIndexXSLT "/svnindex.xsl"
AuthzSVNAccessFile /u01/apache2/conf/[role_file]
SVNPathAuthz off
<Location>


dopisywanie userów:
htpasswd -mb [password_file] user password

konfiguracja pliku z rolami [role_file]:
[groups]
grupa1 = user1,user2
grupa2 = user2,user3
[repozytorium:/[katalog]
@grupa1 = rw
@grupa2 = r
user3 = rw


migracja Z CVS DO SVN
cvs2svn --encoding cp1250 -s [sciezka_projekt_svn] [sciezka_projekt_cvs]
cvs2svn --encoding cp1250 --dumpfile [sciezka_plik_dump] [sciezka_projekt_cvs]

nowe REPOZYTORIUM
svnadmin create /[repository_path]

import z dumpa do REPOZYTORIUM
cat [dumpfile_path] | svnadmin load [sciezka_projekt_svn] --działa
svnadmin load [sciezka_projekt_svn] [dumpfile_path] --miałem problemy

zmienić prawa do repozytorium
w przypadku błędu:
m:human-readable errcode="13" Could not open the requested SVN filesystem /m:human readable
brak jest uprawnień do czytania przez apache



sprawdzenie LOCKS
svnadmin lslocks /[repository_path]

usunięcie LOCKS
svn unlock --force

nowy BRANCH/TAG z już istniejącego
svn copy -r [ver] http://[trunk_path] http://[new_trunk_path] -m "[komentarz]"

nowy KATALOG
svn mkdir http://[trunk_path]/[new_dir]

dodanie KATALOGU z kompa do TRUNKA
svn import [local_dir_path] http://[trunk_path]/[new_dir]

usuwanie KATALOGU (zawsze można odtworzyć)
svn delete http://[trunk_path]/[dir]

ściągnięcie określonego nr rewizji
svn checkout -r [rewizja] http://[repo_path]
svn checkout http://[trunk_path]@[rev]9814

sprawdzenie z jakiej rewizji został zbudowany TAG:
svn log -v --stop-on-copy http://[tag_path]

sprawdzenie wersji na serwerze
svn status -u

find . -perm +2000 -exec chmod 2775 {} \;



BACKUP
svnadmin hotcopy /[repository_path] /[backup_dir_path]

DUMP przepisuje repozytorium do jednego pliku z wszystkimi rewizjami
svnadmin dump /[repository_path] [-r LOWER[:UPPER]]> [dumpfile]
#rewizje od 100 do 200
svnadmin dump /[repository_path] -r 100:200 > [dumpfile]

wrzuca z dumpa tylko pliki określone w path
svndumpfilter include [dumpfile] [repository_path] > [dumpfile_after]

wrzuca z dumpa wszystkie pliki za wyj╣tkiem wykluczonych w path
svndumpfilter exclude [dumpfile] [repository_path] > [dumpfile_after]

wciągnięcie z utworzeniem nowego projektu
svnadmin create calc; svnadmin load calc