Windows の Subversion フックで Python スクリプトを使用する
質問
私の主な目標は取得することです これ 稼働中です。
Tortoise SVN でコミットを行うとフックが呼び出されますが、次の行に到達するとフックは常に終了します。python "%〜dp0trac-post-commit-hook.py" -p "%trac_env%" -R "%rev%" || 5を終了します
Python スクリプトへの呼び出しを単純な Python スクリプトに置き換えようとしても機能しないため、スクリプト自体ではなく Python への呼び出しに問題があるのではないかと考えています。
PYTHON_PATH 変数を設定して、Python を含めるように %PATH% も設定してみました。
Trac が稼働しているので、Python はサーバー自体で動作しています。
以下に背景情報を示します。
PythonはWindowsサーバーにインストールされており、スクリプトはローカルマシンから呼び出されます。
%TRAC_ENV% が存在しない場合は終了 3
そして
python_path = x: python26が存在しない場合はpython_path%exit4を設定します
マップされたネットワークドライブに設定しない限り失敗します(つまり、CおよびEドライブではなくXおよびYドライブに設定します)
- Python スクリプトは、ドライブに関係なく、サーバーのコマンド ラインからどこからでも呼び出すことができるため、PATH 変数を正しく設定する必要があります。
外部からの Python スクリプトの呼び出しに問題があるようですが、この権限をどのように変更すればよいかわかりません。
前もって感謝します。
解決
次の点を考慮してください。
- ネットワークドライブのマッピングと
subst
マッピングはユーザー固有です。SVNサーバーが実行されているユーザーアカウントのドライブが存在することを確認してください。 - Subversion フック スクリプトは 環境変数が設定されずに実行されます セキュリティ上の理由から、
%path%
. 。絶対パスでpython実行可能ファイルを呼び出します。c:\python25\python.exe
.
所属していません StackOverflow