hak post-commit powoduje błąd w zatwierdzeniu svn, ale działa, gdy jest uruchamiany ręcznie w linii poleceń

Obecnie próbuję skonfigurować hak post-commit dla mojego repozytorium subversion, aby wysłać powiadomienia e-mail. Używam subversion 1.7.8. Mój skrypt hakowy po zatwierdzeniu wygląda następująco:

#!/bin/sh

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

"$REPOS"/hooks/mailer.py commit $REPOS $REV "$REPOS"/mailer.conf

Po zatwierdzeniu generowany jest następujący komunikat o błędzie:

Traceback (most recent call last):
  File "/lib/python2.7/site.py", line 563, in <module>
    main()
  File "/lib/python2.7/site.py", line 545, in main
   known_paths = addusersitepackages(known_paths)
  File "/lib/python2.7/site.py", line 278, in addusersitepackages
   user_site = getusersitepackages()
  File "/lib/python2.7/site.py", line 253, in getusersitepackages
   user_base = getuserbase() # this will also set USER_BASE
  File "/lib/python2.7/site.py", line 243, in getuserbase
   USER_BASE = get_config_var('userbase')
  File "/lib/python2.7/sysconfig.py", line 521, in get_config_var
   return get_config_vars().get(name)
  File "/lib/python2.7/sysconfig.py", line 420, in get_config_vars
   _init_posix(_CONFIG_VARS)
  File "/lib/python2.7/sysconfig.py", line 299, in _init_posix
raise IOError(msg)
IOError: invalid Python installation: unable to open //include/python2.7/pyconfig-32.h (No such file or directory)

Osobliwą rzeczą w tym błędzie jest to, że gdy uruchomię post-commit siebie w wierszu poleceń (z odpowiednimi argumentami), nie są generowane żadne błędy i otrzymuję żądane powiadomienie e-mail. To sprawia, że ​​myślę, że błąd nie jest związany z moim plikiem mailer.conf.

Czy ktoś ma jakiś pomysł, co może powodować ten błąd?

Dzięki, Jamie.

KOREKTA:

Pomyślałem, że uruchomienie svnserve pod rootem rozwiązało problem lokalnie, ale po dalszych eksperymentach zdaję sobie sprawę, że to jest złe. post-commit działa na lokalnej maszynie, jeśli projekt został wyewidencjonowany przy użyciu składni file: //, ale nie powiedzie się, jeśli zostanie pobrany przy użyciu składni svn: //.

Dlatego problem pojawia się tylko wtedy, gdy svnserve próbuje uruchomić post-commit, bez względu na to, czy działa pod rootem, czy też jest na tym samym lub innym komputerze.

questionAnswers(1)

yourAnswerToTheQuestion