Msysgit git svn кодировка символов - PullRequest
3 голосов
/ 24 октября 2011

Я тестирую интеграцию git (msysgit в Windows, последняя версия 1.7.7) с помощью набора команд git svn.Казалось, что все работает нормально до того момента, когда я заметил, что пути, содержащие не-ASCII-символы (например, некоторые национальные символы), клонируются неправильно.То же самое происходит и наоборот - если я добавляю файл в git и отправляю его в SVN, используя перебазирование SVN, национальные символы искажаются в репозитории SVN.

Я много искал, включая некоторые вопросы по SO, например этот , но я не смог найти окончательного решения.Я знаю, что есть развёртка msysgit UTF-8, но на сегодняшний день она в значительной степени устарела, и я даже не уверен, верный ли это путь.

Есть ли способ сделать msysgit (и TortoiseGit) SVNсвязанные команды работают с национальными символами в Windows?

1 Ответ

1 голос
/ 25 октября 2011

Если в последнее время что-то не изменилось, msysgit не имеет надлежащей поддержки кодировки символов, поскольку использует так называемые ANSI-версии файловых функций Windows, которые ограничены кодовыми страницами, такими как CP1252. (К сожалению, система отслеживания проблем проекта msysgit отключена, что затрудняет подтверждение того, что это все еще так.)

Для правильной работы этой системы потребуется использовать версии функций Windows в Unicode (т.е. UTF-16) и соответствующим образом преобразовать имена файлов репозитория.

Cygwin 1.7 реализует файловый API POSIX в терминах версий файловых функций Windows для Unicode, конвертируя в / из UTF-8 или другие кодировки. Следовательно, Cygwin git и svn правильно поддерживают символы не-ASCII, но я не знаю, могут ли они использоваться с Tortoise.

...