Post-Commit-Hook für mehrere Checkout-Instanzen von Subversion?

Post-Commit-Hook für mehrere Checkout-Instanzen von Subversion?

Der Titel mag seltsam klingen, aber ich versuche Folgendes zu erreichen:

Speicherort des SVN-Repository: /home/flx/svn/flxdev SVN-Repository-Struktur „flxdev“:

 + Project1
 ++ files
 + Project2
 + Project3
 + Project4

Ich versuche, einen Post-Commit-Hook einzurichten, der am anderen Ende automatisch ausgecheckt wird, wenn ich ein Commit ausführe.

Im Post-Commit-Dokument ist Folgendes explizit aufgeführt:

# POST-COMMIT HOOK
#
# The post-commit hook is invoked after a commit.  Subversion runs
# this hook by invoking a program (script, executable, binary, etc.)
# named 'post-commit' (for which this file is a template) with the
# following ordered arguments:
#
#   [1] REPOS-PATH   (the path to this repository)
#   [2] REV          (the number of the revision just committed)

Also habe ich zum Testen den folgenden Befehl eingegeben:

REPOS="$1"
REV="$2"
echo "Updated project $REPOS to $REV"

Wenn ich jedoch beispielsweise Dateien in Project1 bearbeite, wird Folgendes ausgegeben:„Projekt /home/flx/svn/flxdev auf 1016 aktualisiert“

Ich hätte gerne Folgendes:„Projekt Project1 auf 1016 aktualisiert“

Mit dieser Variable kann ich angeben, dass nach dem Commit unterschiedliche Aktionen pro Projekt ausgeführt werden sollen. Wie kann ich den Projektparameter angeben?

Danke!

Dennis

Antwort1

Verwenden svnlook.

Am einfachsten wäre es, etwas wie Folgendes auszuprobieren:

REPOS="$1"
REV="$2"
CHANGED_DIRS="`/usr/bin/svnlook -r $REV dirs-changed $REPOS`"

echo "Updated paths $CHANGED_DIRS in revision $REV"

Sie können versuchen, auszuführen svnlook help. Dabei werden die verschiedenen verwendbaren Befehle bzw. die verfügbaren Informationen aufgelistet.

verwandte Informationen