Frage

Ich versuche svnperms in ein Repository zu implementieren, aber habe Schwierigkeiten mit ein paar Dinge:

pre-commit hat die Berechtigungen ausführen:

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

Das ist mein Anruf innerhalb pre-commit svnperms:

# 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

Ich habe svnperms.py in der Lage installiert bekam angegeben:

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

svnperms.py ist in UNIX-Format - Nr. ^ M Zeilenende

TortoiseSVN kommt zurück mit:

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  

Beim svnperms ohne paramters zeigt:

/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

Der UNIX-Server-Betreiber hat Python vor kurzem installiert, war aber nicht sicher, ob alle Abhängigkeiten geben. Wenn das das Problem ist, ich bin nicht sicher, wie das zu bestimmen, da Python die Ausgabe basierend auf oben zu funktionieren scheint.

Was bin ich fehlt?

War es hilfreich?

Lösung

Meine Vermutung ist, dass die Lage der python binär ist nicht in $PATH für den SVN-Server. Die shabang Linie svnperms.py lautet:

#!/usr/bin/env python

Aber das setzt voraus, dass die ausführbare Datei im $PATH des Anrufers liegt. Wenn Sie die Laufzeitumgebung des Subversion-Servers zu ändern, keine Berechtigungen haben, versucht python in der shabang Linie mit dem Weg durch which python gegeben zu ersetzen, wenn Sie es interaktiv ausführen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top