Unterschiede zwischen den Revisionen 1 und 7 (über 6 Versionen hinweg)
Revision 1 vom 2005-04-17 17:02:54
Größe: 1190
Autor: lars
Kommentar: vorläufig
Revision 7 vom 2012-06-13 21:26:24
Größe: 2567
Autor: anonym
Kommentar: converted to 1.6 markup
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
[[TableOfContents]] <<TableOfContents>>
Zeile 12: Zeile 12:
= 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.
Zeile 13: Zeile 20:
ACHTUNG: der folgende Teil muss erst noch realisiert werden!
Zeile 16: Zeile 22:
Das Skript [attachment:admin-repos.sh /data/scripts/admin-repos] stellt folgende Funktionen zur Verfügung:
 * ein Repository anlegen
 * ein Repository entfernen
 * di
e Benachrichtigungs-Mailingliste des Repository einrichten
 * die Benachrichtigungs-Mailingliste entfernen
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
Zeile 25: Zeile 29:
{{{admin-repos.sh create REPOSNAME
admin-repos.sh remove REPOSNAME
admin-repos.sh create_list REPOSNAME
admin-repos.sh remove_list REPOSNAME }}}
{{{erzeuge_svn_repos.sh --mit-liste REPOSNAME
erzeuge_svn_repos.sh --ohne-liste REPOSNAME}}}
Zeile 31: Zeile 33:
Die Mailinglisten haben jeweils die Adresse ''REPOSNAME@svn.systemausfall.org''. Die Mailinglisten haben jeweils die Adresse ''svn-REPOSNAME@lists.systemausfall.org''.
Zeile 33: Zeile 35:
Die Einschreibung erfolgt also mit einer Mail an ''REPOSNAME-subscribe@svn.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.


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 /data/etc/svn-access.conf im svn-UML einstellbar.


Das Admin-Skript

Das Skript /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.

SubversionVerwaltung (zuletzt geändert am 2012-06-13 21:26:24 durch anonym)


Creative Commons Lizenzvertrag
This page is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.