我已经设置了一个位于 http://trac.edgewall.org/browser/trunk/contrib/trac-post-commit-hook 的提交后脚本将变更集与票证相关联
当我尝试提交时,出现以下错误
'post-commit' hook failed with error output: <br/>
File "/var/www/svn/repo/hooks/trac-post-commit-hook", line 101<br/>
(options, args) = parser.parse_args(sys.argv[1:])<br/>
^
SyntaxError: invalid syntax
<p>I'm running Python 2.4.3 on CentOS.</p>
<p>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). </p>
<p>I was hoping someone here would know what's going on.</p>
<p>Thanks in advance.</p>
<p>EDIT:</p>
<p>If it helps, here is my post-commit script<br/></p>
<p></p>
<p>REPOS="$1"<br/>
REV="$2"<br/></p>
LOG='/usr/bin/svnlook log -r $REV $REPOS'<br/>
AUTHOR='/usr/bin/svnlook author -r $REV $REPOS'<br/>
TRAC_ENV="/var/www/trac/[xxx]/"<br/>
TRAC_URL='<a href="http://trac.[xxx].com/" rel="noreferrer noopener nofollow">http://trac.[xxx].com/</a>'<br/>
<br/><br/>
/usr/bin/python /var/www/svn/repo/hooks/trac-post-commit-hook -p "$TRAC_ENV" -r "$REV" -u "$AUTHOR" -m "$LOG" -s "$TRAC_URL"
<br/>
最佳答案
可能你之前有空格或制表符(选项,参数)?可能是这样的。
>>> (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
>>>
关于python - Trac 提交后脚本的问题(SyntaxError : invalid syntax),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2018888/