Git windows+linux Russian filename problem

Смысл вот в чем
Допустим 2 разработчика
1 на винде
2 на убунте

Теперь первый разработчик добавляет в гит файл с русским именем ( вот гад ) и делает пуш
Теперь второй делает пул на убунте и получает имя файла %EA%EE%EC%EC%E5%ED%F2%E0%F0%E8%FF%EC%E8
и это еще не самое страшное — git status говорит что появился новый файл с соответствующим именем
поменять и закоммитить его нельзя — он его просто не находит
И так на всех юниксах и маках

Сервер гитолайт

Как это можно исправить?
Где находится та самая настройка чтобы на сервере были нормальные имена файлов?
Если ее нет, то может есть простой способ запретить не английские сиволы в именах коммитов?
  • Вопрос задан
  • 3922 просмотра
Пригласить эксперта
Ответы на вопрос 5
@Zloy1
… может есть простой способ запретить не английские сиволы в именах коммитов?

есть простой способ — использовать git pre-receive hook в удаленной репе, куда далается push, и еще можно использовать git pre-commit hook в локальных репах разработчиков.

о хуках читать тут, примеры таких хуков тоже есть
Ответ написан
Комментировать
taliban
@taliban
php программист
Не знаю как на гит, но на свн можно приделать препроверку перед комитом =) и проверять <тут подставить нужное>. В Вашем случае лучшая проверка /[\w\-]+/. Не нужно бороться с ветром, запретите такие файлы, или дайте люлей тому кто такие файлы комитит. Это, мне кажется, лучший вариант.
Ответ написан
Комментировать
Beholder
@Beholder
Из msysgit ReleaseNotes.rtf:
git and bash have serious problems with non-ASCII file names (Issue 80, 159).
Ответ написан
@sadgb Автор вопроса
Да видать придется ограничивать имена фалов при пуше
Ответ написан
Комментировать
@vikignt
На винде установите msysgit-unicode с поддержкой юникода, а уже затем пуште
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы