Was ist ein Pre-Revprop-Change-Hook in SVN, und wie erstelle ich es?
Wollte ich zum Bearbeiten eines log-Kommentar in den repository-browser und erhalten eine Fehlermeldung, dass kein pre-revprop-change-hook existiert für das repository. Neben einer gruselig-name, was ist ein pre-revprop-change-hook, und wie erstelle ich es?
InformationsquelleAutor der Frage Manu | 2008-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Grunde ist es ein script, das gestartet wird, bevor nicht versionierte Eigenschaft geändert wird, die auf das repository, so dass Sie verwalten können, genauer gesagt, was passiert auf Ihrem repository.
Gibt es Vorlagen im SVN-distrib für verschiedene Haken, die sich in der /hooks Unterverzeichnis (*.tmpl, die Sie haben, zu Bearbeiten und umbenennen, abhängig von Ihrem Betriebssystem, zu aktivieren).
InformationsquelleAutor der Antwort PW.
Für Windows, hier ist ein link zu einer Beispiel-batch-Datei, die nur ermöglicht änderungen an der log-Meldung (nicht andere Eigenschaften):
http://ayria.livejournal.com/33438.html
Im Grunde kopieren Sie den code unten in eine Textdatei und nennen Sie es
pre-revprop-change.bat
und speichern Sie es in der\hooks
Unterverzeichnis für das repository.InformationsquelleAutor der Antwort
Hier ist der link zum stack overflow Frage mit vielen gemeinsamen Haken Gemeinsame Arten von Subversion-Hookseinschließlich der ursprünglichen Quelle der
pre-revprop-change
Haken für Windows cross-gepostet hier.Finden Sie es, wie Sie sich im Laufe der Zeit verbessert.
InformationsquelleAutor der Antwort Philibert Perusse
Für Linux zu erlauben, die Ausgabe der log-Kommentar,
pre-revprop-change.tmpl
imhooks
- Verzeichnis der repositorypre-revprop-change
www-data
)Bearbeitet: (Dank lindes)
0
für die Art der Bearbeitungen, die Sie zulassen wollen.InformationsquelleAutor der Antwort Alois Heimer
Dank #patmortech
Und ich Ihren code eingefügt, die "nur der gleiche Benutzer kann seinen code ändern".
InformationsquelleAutor der Antwort yasin
Den Namen der hook-script ist nicht so beängstigend, wenn Sie zu verwalten, zu entschlüsseln: es ist pre revisions-Eigenschaft change-hook -. Kurz gesagt, der Zweck der
pre-revprop-change
- hook-script zur Steuerung von änderungen an unversionierten (revision) Eigenschaften und zum senden von Benachrichtigungen (z.B. E-Mail senden, wenn die revisions-Eigenschaft verändert wird).Gibt es 2 Arten von Eigenschaften in Subversion:
svn:needs-lock
undsvn:mime-type
), die festgelegt werden können auf Dateien und Verzeichnisse,svn:log
undsvn:date
), dass sind set on repository Revisionen.Versionierte Eigenschaften haben eine Geschichte, die manipuliert werden können, durch die gewöhnlichen Benutzer haben Lese - /Schreibzugriff auf das Projektarchiv. Auf der anderen Seite, nicht versionierte Eigenschaften haben keine Geschichte und dienen meist der Wartung Zweck. Zum Beispiel, wenn Sie verpflichten einer überarbeitung, es geht sofort
svn:date
mit UTC-Zeit Ihrer Begehung,svn:author
mit Ihrem Benutzernamen und Ihremsvn:log
mit Ihrem commit-log-Nachricht (wenn Sie angegeben).Als ich bereits angegeben, den Zweck der
pre-revprop-change
- hook-script zum kontrollieren der änderungen von revision-Eigenschaften. Sie wollen nicht, dass jeder, der Zugang zu einem repository zu ändern, können alle revisions-Eigenschaften, so dass die änderung von revision-Eigenschaften verboten ist standardmäßig aktiviert. Um Benutzern zu erlauben, ändern Sie die Eigenschaften, die Sie haben, umpre-revprop-change
Haken.Den einfachsten Haken enthalten kann, die nur eine Zeile:
exit 0
. Es erlaubt jedem authentifizierten Benutzer zum ändern einer revisions-Eigenschaft und sollte nicht verwendet werden, die in der realen Umgebung. Auf Windows verwenden, können Sie batch-Skript oder PowerShell-script zu implementieren, die eine gewisse Logik innerhalbpre-revprop-change
Haken.Diesem PowerShell-Skript ermöglicht das ändern
svn:log
Eigenschaft nur und verweigert die leere log-Meldungen.Dieses batch-Skript erlaubt nur "svnmgr" Benutzern das ändern von revision-Eigenschaften:
InformationsquelleAutor der Antwort bahrep
PC-Benutzer:
Die .bat-Erweiterung nicht Arbeit für mich, wenn verwendet, auf der Windows Server-Maschine. Ich verwendet VisualSvn als Django Reinhardt vorgeschlagen, und es entstand ein Haken mit ein .cmd-Erweiterung.
InformationsquelleAutor der Antwort noti