2010-01-07 7 views
1

J'ai installé un script de post commit trouvé à http://trac.edgewall.org/browser/trunk/contrib/trac-post-commit-hook d'associer changesets avec des billetsProblèmes avec post Trac scénario commit (SyntaxError: syntaxe non valide)

Lorsque je tente de commettre, je reçois l'erreur suivante

'post-commit' hook failed with error output:
File "/var/www/svn/repo/hooks/trac-post-commit-hook", line 101
(options, args) = parser.parse_args(sys.argv[1:])
^ SyntaxError: invalid syntax

I'm running Python 2.4.3 on CentOS.

I'm not familiar with Python, so I can't really tell whats happening here and no one seems to have had this issue before (according to Google).

I was hoping someone here would know what's going on.

Thanks in advance.

EDIT:

If it helps, here is my post-commit script

REPOS="$1"
REV="$2"

LOG='/usr/bin/svnlook log -r $REV $REPOS'
AUTHOR='/usr/bin/svnlook author -r $REV $REPOS'
TRAC_ENV="/var/www/trac/[xxx]/"
TRAC_URL=' http://trac.[xxx].com/ '


/usr/bin/python /var/www/svn/repo/hooks/trac-post-commit-hook -p "$TRAC_ENV" -r "$REV" -u "$AUTHOR" -m "$LOG" -s "$TRAC_URL"

Répondre

3

Peut-être avez-vous de l'espace ou un onglet avant (options, args)? peut être comme ça.

>>> (options, args) = parser.parse_args(sys.argv[1:]) 
>>> # this is fine 
>>> 
>>> (options, args) = parser.parse_args(sys.argv[1:]) 
    File "<stdin>", line 1 
    (options, args) = parser.parse_args(sys.argv[1:]) 
    ^
SyntaxError: invalid syntax 
>>> 
+0

J'ai essayé cela. Pas de dé. Toujours dire que c'est une syntaxe invalide. –

+0

Ajouté une autre possibilité – YOU

+0

Cela a fait l'affaire - il y avait un tas d'espaces de premier plan - et Python est sensible à ce genre de chose que je réalise. Merci Mark :) –

2

Wow, c'est bizarre. La ligne est définitivement une syntaxe valide, et la version Python ne devrait pas non plus poser de problème puisque la déclaration de droits d'auteur du script a la même année que Python 2.4. Avez-vous plusieurs installations Python sur votre machine? Si oui, pouvez-vous vérifier si /usr/bin/env python renvoie la bonne?

+0

Salut Simon /usr/bin des points/python env au binaire et je 2.4.3 suis assez sûr qu'il ya seulement 1 instance de python installé. –

+0

Si cela vous aide, j'ai modifié la question pour inclure mon code de connexion svn post-commit. –