Für einen gemeinsamen git Repo über SSH und HTTPS bedient, wie der Zugang für beide Protokolle kontrollieren?
Frage
Ich verwende hooks/update
zu kontrollieren, wer bestimmte Refs in einem gemeinsamen Repository aktualisieren. Dies funktioniert gut für SSH, aber ich vor kurzem entdeckt (mit git-1.6.4.2, zumindest) dieser Haken nicht beeinflusst WebDAV drückt, d. , jeder Benutzer jeden Zweig aktualisieren.
Ja, ich Require group ...
Richtlinien wie in 8 Möglichkeiten, um Ihren git-Repository zusammen mit separater Gruppe von Dateien zu teilen, aber ich möchte, um zu vermeiden, um parallele Genehmigung configs zu halten!
Eine weitere Alternative ist Umschreiben der hooks/update
, aber das scheint eine Verschwendung gegeben, dass es bereits für SSH funktioniert.
Lösung
Sie sollten verstehen, dass für Git (derzeit) HTTPS ist ein „dumb“ Protokoll, das heißt ganzer Austausch geht, ohne überhaupt auf dem Server git beteiligt, einschließlich Haken läuft; es ist nur Web-Server (mit WebDAV für HTTPS-Push), die beteiligt ist.
Sie sollten jedoch einen Blick auf den Repository-Zugriff-Management-Tools, wie zum Beispiel gitosis (in Python, mit Setuptools) oder neue gitolite (in Perl, einfacher), oder Repo Werkzeug aus dem Android-Projekt von Google, oder sonst etwas. Vielleicht würden sie zentralisierte Zugriffsverwaltung bieten.