SVN: имена файлов со специальными символами (например ...) - PullRequest
1 голос
/ 13 марта 2019

Мы работаем на Mac / Windows / Linux.Пользователи Windows зафиксировали некоторые файлы с именами, содержащими специальные символы, используя SVN в Eclipse.В MacO, выполняя новую проверку (используя командную строку), SVN не может сопоставить эти каталоги / файлы.

$ svn co [...]
$ svn st
 ?      ShapeLibraries/Cahiers spéciaux
 !      ShapeLibraries/Cahiers spéciaux

[...]

Поскольку файлы имеют кодировку UTF-8, я посмотрел на строку с использованием латинского-1, чтобы увидеть, как будет преобразовываться символ:

enter image description here

Первая строка искажена, а вторая строка в порядке (UTF8 é ==Latin1 Ã ©)

Есть идеи, что вызывает это?Какие-либо решения (кроме переименования всех файлов без специальных символов)?

Спасибо

1 Ответ

1 голос
/ 13 марта 2019

Два имени - это разные последовательности кодов Unicode. Использование JavaScript в тексте вашего вопроса:

"é".codePointAt(0).toString(16)
> 65

"é".codePointAt(1).toString(16)
> 301

Но

"é".codePointAt(0).toString(16)
> e9

U + 0065 - ЛАТИНСКИЙ МАЛЕНЬКИЙ e U + 0301 комбинирует острый акцент U + 00E9 - ЛАТИНСКОЕ МАЛЕНЬКОЕ ПИСЬМО Е С ОСТРЫМ

Они семантически одинаковы. Программы должны сравнивать их как одинаковые. Попробуйте переименовать одно в другое во всех ссылках на него: репозитории, локальные файловые системы, файлы проектов и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...