Git и решение проблем с именами файлов в кодировке Unicode

Git и решение проблем с именами файлов в кодировке Unicode

Когда-то давно, когда я только начинал делать OutWiker, исходники этой программы я выкладывал на github. Но оказалось, что у git в то время были большие проблемы с именами файлов, содержащих не латинские буквы (подробнее об этом я в свое время писал в посте Git, Bazaar и русские имена файлов), из-за чего пришлось перейти на Bazaar.

После этого обычно спрашивают, зачем вообще в исходниках могут понадобиться такие файлы? Применительно к OutWiker по двум причинам. Первая — для хранения справки по программе, которая создана в формате заметок OutWiker, поэтому каждая страница хранится в папке с именем, соответствующим заголовку страницы. Вторая причина — для тестов. Надо же проверять, что программа справится с чтением файлов с такими именами.

На днях решил посмотреть, как обстоят дела с этой проблемой сейчас, и оказалось, что прошло уже больше года, как проблему побороли, начиная версии git 1.7.10. На этот счет на сайте msysgit (реализации git под Windows) есть даже статья на эту тему. В ней написано, что нужно сделать, чтобы git мог нормально работать с файлами в кодировке Unicode, и как перекодировать уже существующий репозиторий в юникодный формат представления файлов.

Читать далее ‘Git и решение проблем с именами файлов в кодировке Unicode’ »

Git, Bazaar и русские имена файлов

Git, Bazaar и русские имена файлов

Я уже давно проникся идеей распределенных систем контроля версий (VCS) и до сих пор использовал Git, которым был в целом доволен. Но так как в последнее время я частично стал пользоваться Linux’ом, то возникла одна проблема с хранением исходников Outwiker’а, о которой я уже как-то говорил, но напомню еще раз.

Суть проблемы состоит в том, что в исходниках Outwiker’а лежат файлы справки, которые имеют русские имена. Эти файлы создавались в Windows, поэтому кодировки имен — cp1251. При получении этих файлов из репозитория под Linux’ом кодировка имен файлов сохраняется, и по умолчанию в консоли показываются вопросики вместо имен. Это решается сменой кодировки консоли, но Outwiker будет видеть эти файлы все-равно искореженными. Имена файлов под Linux’ом можно преобразовать в нужную кодировку, но тогда с точки зрения git это будут новые (точнее переименованные) файлы, что нам не надо.

Читать далее ‘Git, Bazaar и русские имена файлов’ »