Linux サーバーに以前存在していた SVN pre-commit フックがあります。現在、Windows (Server 2003) サーバーに移行しようとしています。
このフックは Python で記述されており、Linux ではその#!/usr/bin/env python
行が先頭にあるため問題なく動作しました。ただし、Windows はそのようには機能せず、フックをバッチ ファイルにする必要があります (または他の形式ですが、それでも Python ではありません)。
重要なことは、引数がスクリプトに渡され、終了コードが呼び出しプロセス (SVN サーバー) に返されることです。これにより、コミットを許可するかどうかを知ることができます。私はファイルの構文についてほとんど何も知りませんが、次の.bat
ような方法でうまくいくと思いました。
C:\Python26\python.exe pre-commit.py %1 %2
これが Python スクリプトをラップする最も簡単な方法であると考えるのは正しいですか? スクリプトの終了コードを自動的に返しますか?