我正在使用 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窗口。
答案 0 :(得分:2)
我想说这更像是.bat
然后python脚本的错误,因为python具有出色的unicode支持。
也许这个问题的答案可以帮到你。
答案 1 :(得分:0)
问题可能是龟本身。请尝试以下
svn log http://rev_url
并查看svn所说的日志评论是什么。如果它正确,那么它可能是Tortoise没有显示俄语编码。如果您在没有预先提交挂钩的情况下提交会发生什么?这是否正确显示?