我有一个提交后钩子脚本,当提交到存储库时,它会对工作副本执行SVN更新.
当用户使用TortoiseSVN从Windows机器提交到存储库时,会出现以下错误:
post-commit hook failed (exit code 1) with output:
svn: Error converting entry in directory '/home/websites/devel/website/guides/Images' to UTF-8
svn: Can't convert string from native encoding to 'UTF-8':
svn: Teneriffa-S?\195?\188d.jpg
上面讨论的文件是:Teneriffa-Süd.jpg
注意重音u.这是因为该网站是德语,文件是用德语拼写的.
在Linux命令行上对工作副本执行更新时,不会遇到任何错误.只有在Windows SVN客户端通过提交执行提交后钩子时,上述错误才会存在.
问题:
- 为什么SVN会try 更改文件的编码?
- 文件名是否允许包含Windows标准ASCII字符以外的字符?
更新:
事实证明,当从Windows机器(通过Samba)查看该文件时,该文件的文件名正确显示为Teneriffa-Süd.jpg
,但当我从文件所在的Linux服务器(使用SSH和PuTTY)查看文件名时,我得到了Teneriffa-Süd.jpg