我正在使用Python脚本实现SVN预提交钩子:
我正在使用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)
我在Windows Server 2008上托管的服务器中使用的pre-commit.bat文件如下:
@python.exe path-to-py-file %1 %2
在客户端上,我使用 TortoiseSVN。
一切都很顺利,除了提交消息编码。如果提交消息包含例如俄文字母,则在Tortoise窗口中显示为“?”(问号)。