el enlace post-commit produce un error en svn commit pero funciona cuando se ejecuta manualmente en la línea de comandos

Actualmente estoy tratando de configurar el enlace post-commit para mi repositorio de subversion para enviar notificaciones por correo electrónico. Estoy usando Subversion 1.7.8. Mi script de enlace post-commit es el siguiente:

#!/bin/sh

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

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

Cuando hago un commit se produce el siguiente mensaje de error:

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)

Lo curioso de este error es que cuando ejecuto post-commit en la línea de comandos (con los argumentos apropiados) no se producen errores y recibo la notificación de correo electrónico deseada. Esto me hace pensar que el error no está relacionado con mi archivo mailer.conf.

¿Alguien tiene alguna idea de lo que podría estar causando este error?

Gracias, Jamie.

CORRECCIÓN:

Pensé que ejecutar svnserve under root solucionó el problema localmente, pero después de una experimentación adicional me doy cuenta de que esto está mal. post-commit funciona en la máquina local si el proyecto se desprotegió utilizando la sintaxis file: // pero falla si se desprotege utilizando la sintaxis svn: //.

Por lo tanto, el problema solo surge cuando svnserve intenta ejecutar post-commit, sin importar si se está ejecutando bajo la raíz o no, o si el cliente está en la misma máquina o en otra.

Respuestas a la pregunta(1)

Su respuesta a la pregunta