私はPythonスクリプトを使用してSVNpre-commitフックを実装しています:
svnlookPath = 'path-to-svnlook'
f = subprocess.Popen([svnlookPath, 'log', sys.argv[1], '--transaction', sys.argv[2]], stdout=subprocess.PIPE).stdout
commitMessage = f.read()
f.close()
commitMessage = commitMessage.rstrip('\n\r')
print >> sys.stderr, 'Commit message: "' + commitMessage + '"'
sys.exit(1)
私のpre-commit.bat(サーバーはWindows Server 2008でホストされています):
@python.exe path-to-py-file %1 %2
クライアント側では、TortoiseSVNを使用しています。
コミットメッセージのエンコードを除いて、すべて問題ありません。たとえば、コミットメッセージにロシア語の文字が含まれている場合、それらは「?」として表示されます。(疑問符)亀のウィンドウ。