У меня есть крюк post-commit script, который выполняет обновление SVN рабочей копии, когда в репозиторий совершаются коммиты.
Когда пользователи берутся за репозиторий с их машин Windows с помощью TortoiseSVN, они получают следующую ошибку:
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 ошибки не встречаются. Вышеприведенная ошибка существует только тогда, когда крюк post-commit выполняется посредством фиксации клиентом Windows SVN.
Вопросы:
- Почему SVN попытается изменить кодировку файла?
- Разрешены ли имена файлов содержать символы, которые находятся за пределами стандартных ASCII Windows?
Update:
Оказывается, файл filename вопроса правильно отображается как Teneriffa-Süd.jpg
при просмотре с компьютера Windows (через Samba), но когда я просматриваю имя файла с сервера Linux (используя SSH и PuTTY), где находится файл, я получаю Teneriffa-Süd.jpg