2 Stimmen

Ein clientseitiges Hook-Skript erstellen, um zu verhindern, dass ein Benutzer in TortoiseSVN nach außen überträgt

Mein Kofferraum hat Struktur:

\trunk
----\data
----\src
----\tool

mit \tool ist extern an einem anderen Ort, nicht in meinem trunk . Ich möchte also nicht, dass der Benutzer sich auf \tool in SVN. Sie können sich nur an \data o \src .

Kann mir jemand helfen, ein Hook-Skript zu erstellen, um zu verhindern, dass der Benutzer an externe (in diesem Fall ist \tool Ordner)?

0 Stimmen

Haben Sie eine Antwort auf Ihre Frage erhalten?

2voto

Sam Post Punkte 3601

Ich bin nicht sehr vertraut mit Externals, aber wenn Sie ein Pre-Commit-Hook-Skript erstellen möchten, ist es ziemlich einfacher Code, aber schwierig zu debuggen.

Ihr Pre-Commit-Hook nimmt zwei Parameter entgegen: $ARGV[0] = Repository-Pfad, $ARGV[1] = Transaktion, die übertragen wird.

Ihr Hook-Skript würde svnlook verwenden, etwa so

svnlook dirs-changed -r $ARGV[0] -t $ARGV[1]

Und einen (negativen?) Exit-Status zurückgeben, wenn svnlook zurückgibt, dass tools (oder irgendetwas, das mit tools beginnt) geändert wurde.

Alles, was Sie auf STDERR ausgeben, wird dem Client als Fehlermeldung angezeigt.

Sie legen dieses Skript in Ihrem Repository unter hooks ab, nennen es "pre-commit" und machen es ausführbar

Prüfen Sie unbedingt die svnlook-Dokumentation da ich mich hier an die Erinnerung erinnere

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X