Cómo llamar a un script de Python en el servidor visualsvn precommit hook que se ejecuta en Windows

Implemento una secuencia de comandos de Python para el enganche de confirmación previa para detectar el mensaje de confirmación, el autor, la ruta modificada y luego lanzar una excepción o error en casos específicos.

Quiero configurar este script pre-commit.py en el enganche de confirmación previa del servidor VisualSVN usando este comando en los enganches

C:\Users\momo\Desktop\pre-commit.py %1 %2 

Cuando quiero cometer, recibí este error, Access Denied parece que el enganche de confirmación previa no reconoce mi syntax


introduzca la descripción de la imagen aquí

Los scripts de Python no se consideran archivos ejecutables en Windows. Deberías envolverlos en Windows Batch. Por ejemplo, un script de enganche de precompromiso puede tener el siguiente aspecto:

 set REPOS-PATH=%1 set TXN-NAME=%2 "C:\Python27\python.exe" "C:\Repositories\MyRepository\hooks\pre-commit.py" %REPOS-PATH% %TXN-NAME% 

Esta secuencia de comandos de Windows Batch ejecutará la secuencia de comandos de Python ubicada en C:\Repositories\MyRepository\hooks\post-commit.py y pasará los argumentos %1 y %2 .

Coloque este código en el archivo \hooks\pre-commit.bat o \hooks\pre-commit.cmd su repository de forma manual o a través de la consola de VisualSVN Server Manager:

  1. Inicie la consola de VisualSVN Server Manager .
  2. Haga clic derecho en un repository y haga clic en Propiedades .
  3. Haga clic en la pestaña Ganchos .
  4. Haga clic en el enlace Pre-commit y haga clic en Editar .