SVN Server verwalten
Neues Repository anlegen
Über 'svnadmin' können Sie ein neues Repository erstellen:add_repository.bat
1 2 3
cd "C:\Program Files\Subversion\bin" mkdir "C:\Program Files\Subversion\Repositories\newRepository" svnadmin.exe create "C:\Program Files\Subversion\Repositories\newRepository"
Benutzerverwalten
Für Svnserve
Neuen Benutzer anlegen
Dafür muss die Benutzerdatei, die für das entsprechende Repository angegeben ist, modifiziert werden. Wo diese Datei sich befindet, steht in der Konfigurationsdatei('<path/to/repository>/conf/svnserve.conf') des Repositories unter dem Punkt: 'password-db'.Falls das Repository so erzeugt und konfiguriert wurde, wie es in diesem HowTo angegeben ist, finden sie die Datei unter: 'C:/Program Files/Subversion/Repositories/Repository1/conf/userfile'
In dieser Datei müssen Sie nur einen weitere Zeile mit Benutzername und Passwort anlegen:
userfile
1 2 3 4
[users] harry = secret sally = password newUser = somePassword
Passwort ändern
Um das Passwort eines Benutzers zu ändern, müssen Sie nur die oben beschriebene Benutzerdatei anpassen.userfile(2)
1 2 3 4
[users] harry = secret sally = password molly = aNewPassword
Projektrechte ändern
Sie können die Rechte für ein Repository über svnserve nur global einstellen. Es gibt dafür zwei Variablen in 'svnserve.conf': 'anon-access' und 'auth-access' können beide die Werte: 'none', 'read', 'write' annehmen.svnserve.conf
1 2 3 4
[general] anon-access = none auth-access = write password-db = userfile
Für Apache
Neuen Benutzer anlegen
Um einen neuen Benutzer anzulegen, müssen Sie die Benutzerdatei ändern, welche unter dem Punkt 'AuthUserFile' in der Apache-subversion-konfigurationsdatei('C:\Program Files\Apache Software Foundation\Apache2.2\conf\subversion.conf') angegeben ist.Dies müssen Sie mit dem 'htpasswd' binary des Apaches machen:
add_user.bat
1 2
cd "C:\Program Files\Apache Software Foundation\Apache2.2\bin" htpasswd -m "C:/Program Files/Subversion/etc/htusers" newUser
Passwort ändern
Das Ändern eines Passwortess funktioniert genauso wie das Anlegen eines neuen Benutzers:change_pass.bat
1 2
cd "C:\Program Files\Apache Software Foundation\Apache2.2\bin" htpasswd -m "C:/Program Files/Subversion/etc/htusers" user
Projektrechte ändern
Sie können mit der SubversionAccess-Datei, welche in der Apache-Subversion-Konfigurationsdatei('C:\Program Files\Apache Software Foundation\Apache2.2\conf\subversion.conf') unter dem Punkt 'AuthzSVNAccessFile' zu finden ist, den genauen Zugriff auf Ihr Repository steuern.access.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
# Beispiel 1: # =========== # # harry bekommt Lese- und Schreibzugriff auf Repository1 # sally bekommt Lesezugriff auf Repository1 [Repository1:/] harry = rw sally = r # Beispiel 2: # =========== # # harry bekommt Lese- und Schreibzugriff im Unterordner '/trunk/main' auf Repository1 # sally bekommt Lesezugriff im Unterordner '/trunk/main' auf Repository1 # sally bekommt Schreibzugriff im Unterordner '/trunk/main/testing' auf Repository1 [Repository1:/trunk/main] harry = rw sally = r [Repository1:/trunk/main/testing] sally = rw # Beispiel 3: # =========== # # harry bekommt Lese- und Schreibzugriff im Unterordner '/trunk/main' auf Repository1 # sally bekommt Lesezugriff im Unterordner '/trunk/main' auf Repository1 # harry wird der Zugriff auf den Unterordner '/trunk/main/secret' im Repository1 verwert [Repository1:/trunk/main] harry = rw sally = r [Repository1:/trunk/main/secret] harry = # Beispiel 4: # =========== # # Allen Benutzern(auch Annonymen) Lesezugriff auf alle Repositorys geben [/] * = r # Beispiel 5: # =========== # # Gruppe 'developer-team-one' bekommt Lese- und Schreibzugriff auf Repository1 # Gruppe 'graphic-artists' bekommt Lese- und Schreibzugriff im Unterordner '/graphic' auf Repository1 # Gruppe 'developer-team-two' bekommt Lese- und Schreibzugriff auf Repository2 # sally bekommt Lesezugriff im Unterordner '/graphic/special' auf Repository2 [groups] developer-team-one = harry, joe developer-team-two = frank, jane graphic-artists = sally everyone = harry, joe, frank, jane, sally [Repository1:/] @developer-team-one = rw [Repository1:/graphic] @graphic-artists = rw [Repository2:/] @developer-team-two = rw [Repository2:/graphic/special] sally = r
Backup
Ein Backup machen Sie über 'svnadmin'. Am Besten Sie zippen danach das Backup noch und kopieren es anschließend auf ihr Backup-Laufwerk.backup.bat
1 2 3
cd "Program Files\Subversion\bin" svnadmin.exe dump "C:\Program Files\Subversion\Repositories\repository1" > %tmp%\backup.dump "C:\Program Files\WinRAR\WinRar.exe" a -afzip -ep Z:\repository1_%date%.zip %tmp%\backup.dump
restore_backup.bat
1 2 3
cd "Program Files\Subversion\bin" "C:\Program Files\WinRAR\WinRar.exe" x C:\users\seven\repository1_SomeDate.zip %tmp% svnadmin.exe load "C:\Program Files\Subversion\Repositories\repository1" < %tmp%\backup.dump