+2  A: 

Wow, that is weird. The line is definitely valid syntax, and the Python version should also not be a problem since the script's copyright statement has the same year Python 2.4 was released in. Do you have multiple Python installations on your machine? If so, can you check whether /usr/bin/env python returns the correct one?

Simon
Hi Simon /usr/bin/env python points to the 2.4.3 binary and I'm pretty sure there is only 1 instance of python installed.
Jahufar
If it helps, I've edited the question to include my svn post-commit hook code.
Jahufar
+3  A: 

May be you have space or tab before (options,args)? may be like this.

>>> (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
>>>
S.Mark
Tried that. No dice. Still telling it's invalid syntax.
Jahufar
Added another possibility
S.Mark
That did the trick - there was a bunch of leading spaces - and Python is sensitive to that sort of thing I realize. Thanks Mark :)
Jahufar
You are welcome, synapse.
S.Mark
Goot catch! I learned that `IndentationError` is apparently new in Python 2.5...
Simon
Good catch, that is...
Simon