Question

Je suis en train de mettre en œuvre svnperms dans un dépôt, mais je suis la difficulté avec quelques petites choses:

pre-commit a les permissions d'exécution:

-rwxrwxr-x   1 svnadm     svn           3018 May 27 10:11 pre-commit

Ceci est mon appel à svnperms dans les pre-commit:

# 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

J'ai svnperms.py installé dans l'emplacement spécifié:

# ls -l /usr/local/svn/scripts
total 24
-rwxrwxr-x   1 svnadm     svn          11840 May 25 07:48 svnperms.py

svnperms.py est au format UNIX -. Fins non linéaires ^ M

TortoiseSVN revient avec:

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  

Appel svnperms sans paramters montre:

/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

L'administrateur UNIX a récemment installé python, mais était pas sûr que toutes les dépendances sont là. Si tel est le problème, je ne suis pas sûr de savoir comment déterminer que, depuis python semble fonctionner en fonction de la sortie ci-dessus.

Qu'est-ce que je suis absent?

Était-ce utile?

La solution

Je pense que l'emplacement du binaire python est pas $PATH pour le serveur svn. La ligne de shabang de svnperms.py lit comme suit:

#!/usr/bin/env python

Mais cela suppose que le fichier exécutable se trouve dans le $PATH de l'appelant. Si vous ne disposez pas des autorisations pour modifier l'environnement d'exécution de votre serveur subversion, essayez de remplacer python dans la ligne de shabang avec le chemin donné par which python lorsque vous l'exécutez de manière interactive.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top