Frage

Ich habe ein SVN-Repository von Grund auf neu aufgebaut, und ich habe einige meiner Veröffentlichungen mit dem SVN Kopierbefehl erfolgreich markiert.

habe ich das SSPI Auth Plugin für Apache, so dass unsere Entwickler einfach auf die Server mit ihren Netzwerkanmeldeinformationen, und alles funktioniert gut.

Ich habe eine AuthZ Autorisierungsdatei erstellt, hinzugefügt unsere Entwickler zu Gruppen in der Datei, und haben sie Zugriff auf das Root schreiben gewährt. Ich habe auch anonyme Benutzer nur Lesezugriff auf die Wurzel gewährt.

Ich schloß dann nach unten die Option / svn / Verzeichnis mit: Erfordern-Gruppe "CORP \ CKAN0BlahBlah"

Diese effektiv neue Entwickler in der Sicherheitsgruppe begrenzt zu schreibgeschützten Zugriff, bis sie Zugang durch die aAuthZ Config-Datei erteilt werden.

Nun, ich habe ein paar Fragen:

  1. Was ist der richtige Weg (außer das Ehrensystem) Benutzer zu verhindern von Änderungen an dem commiting "Tags" Verzeichnisse?

  2. Ist es möglich, SSPI zu verwenden passieren die Mitglieder der Gruppen AuthZ, anstatt die Mitglieder listing einzeln in der Konfiguration Datei?

War es hilfreich?

Lösung 2

Frage # 1 , die ich für diese entwickelt:

@echo off
SET SVNLOOK=C:\Program Files\CollabNet Subversion Server\svnlook.exe
SET GREP=D:\SVN\Repo\hooks\grep.exe
SET LOG=D:\SVN\Repo Logs.txt

>>"%LOG%" echo ==== commit %1 %2 ====
>>"%LOG%" "%svnlook%" changed -t %2 %1

("%svnlook%" changed -t %2 %1 | "%grep%" "^U.*/tags/") && (echo Cannot commit to tags.>&2 && exit 1)
("%svnlook%" log -t %2 %1 | "%grep%" "[a-zA-Z0-9]") || (echo You must specify a comment.>&2 && exit 1)

exit 0

Packte das grep-Tool von http://sourceforge.net/projects/unxutils


Frage 2 , die Antwort NEIN ist, kann man nicht gegen AD Sicherheitsgruppen in der AuthZ Config-Datei überprüfen.

Danke für Ihre Hilfe, jeder.

Andere Tipps

1 - Sie können mit dem pre-commit Haken Commits verhindern, finden Sie unter SVN pre-commit für Änderungen von Variablen Unterverzeichnissen vermieden werden.

Edit: das unter Windows zu tun, versuchen Sie Folgendes:

Speichern Sie diese als Datei in den Haken Ordner Ihrer Repo-Pre-commit.bat benannt:

@echo off
set REPOSITORY=%1
echo %REPOSITORY% | find /I "tags"
if errorlevel 1 goto done
echo You tried to commit to %REPOSITORY% >&2
echo Committing to tags is not allowed >&2
exit 1
:done

Beachten Sie, dies wird verhindert, dass zu jedem Repository-Pfad commiting, die den Teil enthält -Tags . Ändern Sie nach Ihren Bedürfnissen.

Es gibt keine „richtige“ Art und Weise. Tags sind eine Konvention und Entwickler sollten es lernen und befolgen. Abgesehen davon, eine ausfallsichere kann mit Subversion Hooks implementiert werden. Siehe diese Seite für ein nettes Tutorial.

Das scheint mir eine Frage der Erziehung und Prozess. Wenn Ihre Entwickler den Zweck Ihrer SVN-Tags verstehen, scheint es viel weniger wahrscheinlich, dass Sie die Menschen haben werden (absichtlich) Commits zu einem Tag zu tun. Was ich fand, unverzichtbar sein, um diese Prozesse effektiv zu kommunizieren ist auf dem neuesten Stand, schriftliche Dokumentation. Mein Team verwendet eine Wiki-Dokumentation über unsere Prozesse zu speichern (genauer gesagt, wir verwenden MediaWiki ). Der Wiki-Ansatz scheint die Dinge viel besser zugänglich und leichter zu dem Laufenden halten als so etwas wie versioniert MS Office-Dokumente in Sharepoint zu speichern.

Wie wäre es die SVN-Auth-Datei, die definieren? dies so aussehen:

[groups]
ADMINS=<your ID>
<rest of groups>=<all other IDs>

[/]
* = r
<rest of groups> = rw
@ADMINS = rw

[/tags]
<rest of groups> = r

Dies wird den ADMINS Lese-Schreib-Zugriff auf die Tags Verzeichnis, aber sonst niemanden erlauben. Ich weiß nicht, die SSPI Auth Plugin, so vielleicht mein bereitgestellt Beispiel in Ihrem Kontext nicht funktioniert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top