我使用的的Python 脚本实现的 SVN pre-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)

我的预commit.bat (服务器托管在Windows Server 2008上):

@python.exe path-to-py-file %1 %2

在一个客户端我使用的 TortoiseSVN的

一切正常的,除了提交消息的编码即可。如果提交消息包含,例如,俄语字母它们将显示为“?” (问号)在龟窗口。

有帮助吗?

解决方案

我会说这是更多的.bat的故障,则python脚本的,因为Python具有良好的Unicode支持。结果 也许这个问题的回答可以帮助你。

批处理文件编码

其他提示

这个问题可能是龟本身。尝试以下方法

SVN的日志 HTTP:// rev_url

,看看SVN说,日志的评论是。如果得到它的权利,那么它可能是龟没有显示俄罗斯的编码。如果你承诺,而你的pre-commit钩子会发生什么?正确这是否显示?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top