0

svnperms をリポジトリに実装しようとしていますが、いくつかの点で問題があります。

pre-commit には実行権限があります。

-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 が動作しているように見えるため、それを判断する方法がわかりません。

私は何が欠けていますか?

4

1 に答える 1

6

私の推測では、pythonバイナリの場所は$PATHsvnサーバーにはありません。読み取りのシャバンラインsvnperms.py

#!/usr/bin/env python

$PATHただし、実行可能ファイルが呼び出し元のにあることを前提としています。Subversionサーバーのランタイム環境を変更する権限がない場合は、シャバン行をインタラクティブに実行したときにpython指定されたパスに置き換えてみてください。which python

于 2009-05-27T17:28:47.253 に答える