<> ----- = Verzeichnisstruktur = Alle Repositories liegen auf dem FaxeSubversion-Server unter dem Verzeichnis ''/data/repos/''. Der Name des Unterverzeichnisses spiegelt direkt den Teil der Repository-URL wieder, der auf ''https://svn.systemausfall.org/svn/'' folgt. Die Konfigurationsdateien liegen unter ''/data/etc/'' - sie sind größtenteils nach ''/etc/'' verlinkt. = Zugriffsrechte = Die Zugriffsrechte können für Repositories oder auch für einzelne Verzeichnisse vergeben werden. Standardmäßig sind alle Repositories anonym lesbar. Die Rechte sind in der Datei [[SubVersion:sao/etc/svn/svn-access.conf|/data/etc/svn-access.conf]] im ''svn''-UML einstellbar. ------ = Das Admin-Skript = Das Skript [[SubVersion:sao/scripts/erzeuge_svn_repos.sh|/data/scripts/erzeuge_svn_repos.sh]] stellt folgende Funktionen zur Verfügung: * ein Repository mit Benachrichtigungsliste anlegen * ein Repository ohne Benachrichtigungsliste anlegen Das Skript ist äußerst simpel. = Syntax-Beispiele = {{{erzeuge_svn_repos.sh --mit-liste REPOSNAME erzeuge_svn_repos.sh --ohne-liste REPOSNAME}}} == Mailingliste == Die Mailinglisten haben jeweils die Adresse ''svn-REPOSNAME@lists.systemausfall.org''. Die Einschreibung erfolgt also mit einer Mail an ''svn-REPOSNAME-subscribe@lists.systemausfall.org''. ---- = zwei Repositories vereinen = Es gibt zwei Repositories (REPO1 und REPO2). Beide sollen zu einem zusammen gebracht werden, inklusive Versionierung. Das geht so (im svn Server ausführen): {{{svnadmin dump REPO1/ > /tmp/repo1.dump svnadmin load REPO2/ < /tmp/repo1.dump }}} Dabei werden sämtliche Änderungen von REPO1 nochmal in REPO2 ausgeführt. Die Versionsnummern von REPO1 verschieben sich dadurch natürlich um die Anzahl der vorherigen Versionen in REPO2. Alternativ kann REPO1 auch in ein Unterverzeichnis von REPO2 eingebracht werden z.B. wenn es sich um Zweige mit gleichen Dateien handelt. Dazu muss in einer Arbeitskopie von REPO2 ein neues Unterverzeichnis angelegt und commited werden. {{{ svn co http://...REPO2 . svn mkdir NEUESREPO1VERZ svn commit }}} Anschließend die Dumpdatei in das Verzeichnis schieben: {{{svnadmin dump REPO1/ > /tmp/repo1.dump svnadmin load REPO2/ --parent-dir NEUESREPO1VERZ < /tmp/repo1.dump }}} ---- = Repositories löschen = Repos können einfach mittels ''rm -r '' unter /data/repos/... entfernt werden, da alle Repo-Bestandteile im Verzeichnis liegen. Eine zusätzlich angelegte Mailingliste muss dann separat entfernt werden.