@ Stephen Bailey
Um Ihre Antwort zu vervollständigen, können Sie die Benutzerrechte auch über eine Nur-Text-Datei in Ihrem Repository an den Projektmanager delegieren.
Dazu richten Sie Ihre SVN-Datenbank mit einer Standarddatei ein authz
, die Folgendes enthält:
###########################################################################
# The content of this file always precedes the content of the
# $REPOS/admin/acl_descriptions.txt file.
# It describes the immutable permissions on main folders.
###########################################################################
[groups]
svnadmins = xxx,yyy,....
[/]
@svnadmins = rw
* = r
[/admin]
@svnadmins = rw
@projadmins = r
* =
[/admin/acl_descriptions.txt]
@projadmins = rw
Diese Standarddatei authz
berechtigt die SVN-Administratoren, eine sichtbare Nur- Text-Datei in Ihrem SVN-Repository mit dem Namen "/admin/acl_descriptions.txt" zu ändern , in der die SVN-Administratoren oder Projektmanager die Benutzer ändern und registrieren.
Anschließend richten Sie einen Pre-Commit-Hook ein, der erkennt, ob die Revision aus dieser Datei (und nur dieser Datei) besteht.
Wenn dies der Fall ist, überprüft das Skript dieses Hooks den Inhalt Ihrer Nur-Text-Datei und prüft, ob jede Zeile der SVN-Syntax entspricht.
Anschließend aktualisiert ein Post-Commit-Hook die \conf\authz
Datei mit der Verkettung von:
- die oben
authz
dargestellte TEMPLATE- Datei
- die Klartextdatei
/admin/acl_descriptions.txt
Die erste Iteration wird vom SVN-Administrator durchgeführt, der Folgendes hinzufügt:
[groups]
projadmins = zzzz
Er schreibt seine Änderung fest und das aktualisiert die authz
Datei.
Dann kann der Projektmanager 'zzzz' jede Benutzergruppe und jeden gewünschten Benutzer hinzufügen, entfernen oder deklarieren. Er schreibt die Datei fest und die authz
Datei wird aktualisiert.
Auf diese Weise muss der SVN-Administrator nicht alle Benutzer für alle SVN-Repositorys einzeln verwalten .