答え: ローカルのsvnクライアントが実行する。
httpとfileプロトコルでアクセスされるリポジトリがあります。
ある日、fileプロトコルでアクセスするとhooksスクリプトが動いていないことに気が付きました。
で、ふと思ったのがhooksスクリプトはだれが動かしているのかということです。
http経由ならApacheが動かしているようです。Sambaの共有フォルダの場合はSambaが動かす?
共有フォルダのリポジトリのhooksの中にあるpost-commitをバッチ化して、
適当なファイルを試しにコミットしてみたところ、確かにpost-commit.batが実行されました。
svnクライアントってサーバーと通信するものって思い込んでたのでへーっておもいました。