我正在使用Python脚本来实现SVN 预提交钩子:
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。
一切正常,除了提交消息编码。例如,如果提交消息包含俄语字母,它们将显示为“?” (问号)在 Tortoise 窗口中。