質問

私はリポジトリにsvnpermsを実装しようとしているが、いくつかのことの難しさを持っています:

前のコミット実行権限を持っています

-rwxrwxr-x   1 svnadm     svn           3018 May 27 10:11 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

私が指定した場所に設置しsvnperms.py持っています

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

svnperms.pyは、UNIX形式である - 。ノー^ Mの改行コード

TortoiseSVNはして戻ってくるます:

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  

無偶然にしてsvnpermsを呼び出すと示します:

/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

UNIX管理者は、最近のpythonをインストールしたのですが、すべての依存関係があるかどうかわからなかったしました。それが問題だ場合のpythonは、上記の出力に基づいて動作しているようだから、私は、それを決定するかどうかはわかりません。

私は何をしないのですか?

役に立ちましたか?

解決

私の推測では、pythonバイナリの場所は、SVNサーバ用$PATHではないということです。 svnperms.pyのshabangラインは読みます:

#!/usr/bin/env python

しかし、それは実行ファイルは、発信者の$PATHにあることを前提としています。あなたはSubversionサーバの実行環境を変更する権限を持っていない場合は、対話的にそれを実行したときにpythonによって与えられたパスでshabangラインでwhich pythonを交換してみます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top