SVN Hooks

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Ich habe mal eine Frage. Kennt sich jemand etwas mit SVN Hooks aus?

Ich wollte mir nen hook schreiben, der mir automatisch, sobald ich einen bestimmten Ordner aktualisiere, die Website aktualisiert.

Geht das?

Ich habe zZ folgende post-commit.tmpl:

Code: Alles auswählen

 REPOS="$1"                                                                  
 REV="$2"
 
 # /usr/share/subversion/hook-scripts/commit-email.pl "$REPOS" "$REV" commit-    watchers@example.org
/home/webshox/htdocs/svn/hooks/webpage.py "$REPOS" "$REV"
die Datei `webpage.py` ist zZ nur ne Datei, die ne einfache Textdatei öffnen soll und mir `REPOS` und `REV` speichern soll

Aber so richtig funktioniert das nicht...
Die Datei ist ausführbar, und wenn ich obiges per Hand aufrufe gibts keine Probleme...

Was muss ich noch beachten? Wie könnte cih so etwas realisieren?

MfG EnTeQuAk
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Zugriffsrechte und das working directory.

Am besten ein "cd /da/will/ich/hin" im Skript machen.

Und stdout/stderr in ein file umleiten damit man es debuggen kann.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
tiax
User
Beiträge: 152
Registriert: Samstag 23. Juli 2005, 17:28
Kontaktdaten:

"tmpl" steht für "template" :wink: Die Endung musst du entfernen.
Ne invoces expellere non possis
[url=xmpp://florian@florianheinle.de]xmpp:florian@florianheinle.de[/url]
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Und stdout/stderr in ein file umleiten damit man es debuggen kann.
Du redest davon, das ich das im Pythonscript machen soll, ja?
"tmpl" steht für "template" Wink Die Endung musst du entfernen.
Gut. Habe ich gemacht.


Die Datei heißt nun `post-commit` .. --> .. nur klappen tut das noch nicht. Ich rufe das Script (post-commit) per Hand auf, klappt alles einwandfrei. Doch er führt es irgentwie nicht nach einem `svn update` aus.

Ich werd vermutlich doch die Dokumentation von SVN raussuchen...


MfG EnTeQuAk
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Wie wärs, wenn du
a) überprüfst ob das Skript aufgerufen wird (z.B. indem du es eine Datei in /tmp touchen lässt) und
b) wenn ja, sämtliche Ausgaben (stdout, stderr) in eine Datei leitest, z.B. so:

Code: Alles auswählen

/path/to/real/script "$@" > /tmp/hook.out 2> /tmp/hook.err
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Antworten