¿Qué usuario ejecuta el enlace posterior a la recepción en una máquina con Windows?

Así que tengo ese gancho post-receive en mi repository desnudo que actualizará las inputs en mi installation de trac (enlace tomado de http://trac.edgewall.org/attachment/wiki/TracGit/post-receive-hook.py ).

El git repo se encuentra en la unidad G: mientras que la database trac se almacena en F:\user\trac\myproject . Personalicé el gancho original para que las routes sean correctas:

 TRAC_ENV = 'F:\\User\\Trac\\myproject' GIT_PATH = "C:\\Program Files (x86)\\Git\\bin\\git.exe" 

Antes de cargar el enganche a mi server, verifiqué la syntax correcta (barras diagonales inversas, etc.) en mi máquina local, donde todo funciona bien.

Ahora, cargué el gancho a G:\git\myproject.git\hooks\post-receive y G:\git\myproject.git\hooks\post-receive algunos refs. Pero esto me da un post de error:

 remote: Traceback (most recent call last): remote: File "hooks/post-receive", line 190, in <module> remote: env = open_environment(TRAC_ENV) remote: File "build\bdist.win-amd64\egg\trac\env.py", line 846, in open_environment remote: File "build\bdist.win-amd64\egg\trac\core.py", line 124, in __call__ remote: File "build\bdist.win-amd64\egg\trac\env.py", line 283, in __init__ remote: File "build\bdist.win-amd64\egg\trac\env.py", line 392, in verify remote: trac.core.TracError: No Trac environment found at f:\user\trac\myproject remote: [Errno 2] No such file or directory: 'f:\\user\\trac\\myproject\\VERSION' 

Así que supongo que es un problema relacionado con los derechos de acceso y el usuario que ejecuta el enganche post-receive no tiene acceso al directory trac.

Para superar esto: ¿ qué usuario necesito dar acceso a la database de trac para que el enlace se ejecute correctamente?

Para responder directamente a su pregunta, puede agregar

 import getpass print >> sys.stderr, getpass.getuser() 

justo después de las instrucciones de import para el gancho, y debe mostrar el nombre de usuario antes del error cuando intenta presionar.

Sin embargo, está dando el error "No existe ese file o directory", lo que probablemente significa exactamente eso, está intentando acceder a un file que no existe. Así que este no sería un problema de permissions, y podría significar que Trac no está instalado correctamente en esa location o que hay un problema con el module trac.