python - precommit - pre-commit npm
Configurar svnperms pre-commit hook (1)
Supongo que la ubicación del binario de python
no está en $PATH
para el servidor svn. La línea de svnperms.py
de svnperms.py
dice:
#!/usr/bin/env python
Pero eso supone que el ejecutable se encuentra en $PATH
de la persona que llama. Si no tiene permisos para modificar el entorno de ejecución de su servidor de subversión, intente reemplazar python
en la línea de shabang con la ruta dada por which python
cuando lo ejecuta de forma interactiva.
Estoy tratando de implementar svnperms en un repositorio, pero estoy teniendo dificultades con algunas cosas:
pre-commit tiene los permisos de ejecución:
-rwxrwxr-x 1 svnadm svn 3018 May 27 10:11 pre-commit
Esta es mi llamada a svnperms dentro de precompromiso:
# Check that the author of this commit has the rights to perform
# the commit on the files and directories being modified.
SVNPERMS=/usr/local/svn/scripts/svnperms.py
$SVNPERMS -r $REPOS -t $TXN || exit 1
Tengo svnperms.py instalado en la ubicación especificada:
# ls -l /usr/local/svn/scripts
total 24
-rwxrwxr-x 1 svnadm svn 11840 May 25 07:48 svnperms.py
svnperms.py está en formato UNIX - no tiene terminaciones de línea ^ M.
TortoiseSVN regresa con:
Command: Commit
Modified: C:/projects/Sandbox/Trunk/Test.txt
Sending content: C:/projects/Sandbox/Trunk/Test.txt
Error: Commit failed (details follow):
Error: ''pre-commit'' hook failed with error output:
Error: No such file or directory: python
Llamar a svnperms sin parámetros muestra:
/usr/local/svn/scripts/svnperms.py
missing required option(s): repository, either transaction or a revision
Usage: svnperms.py OPTIONS
Options:
-r PATH Use repository at PATH to check transactions
-t TXN Query transaction TXN for commit information
-f PATH Use PATH as configuration file (default is repository
path + /conf/svnperms.conf)
-s NAME Use section NAME as permission section (default is
repository name, extracted from repository path)
-R REV Query revision REV for commit information (for tests)
-A AUTHOR Check commit as if AUTHOR had commited it (for tests)
-h Show this message
El administrador de UNIX ha instalado recientemente Python, pero no estaba seguro de si todas las dependencias están ahí. Si ese es el problema, no estoy seguro de cómo determinarlo, ya que Python parece estar funcionando según el resultado anterior.
¿Qué me estoy perdiendo?