ここでは、Windows 2012 Server上のVisualSVNに関するこの質問に対する回答を探しました。いくつかの情報を収集した後、VisualSVNのWindowsバッチファイルのポストコミットフックで、特定のプロジェクトをそのサーバーにデプロイするために開発サーバーにPHPスクリプトをロードするソリューションです。フックコマンドは1行です:
svnlook changed "%1" | findstr /L "ProjectA/trunk/" && powershell -Command "Invoke-WebRequest http://192.168.0.177/checkout_on_commit/checkout_on_commit.php -OutFile $ENV:SYSTEMROOT\Temp\commit.txt" || rem
レムが他のプロジェクトへのコミットのために、故障したとして亀によって報告されてからフックを防ぐために「ノーオペレーション」として必要でした。プロジェクトをLinuxサーバーにデプロイするcheckout_on_commit.phpの内容は次のとおりです。
<?php
`date >> checkout.log`;
`svn sw --non-interactive --no-auth-cache --username project_a_readonly --password trytoguess https://svnserver/svn/GroupA/ProjectA/trunk /app/www/ >> checkout.log`;
?>