2010-02-24 3 views
1

Я борюсь с инструментом и теряю. Я хочу, чтобы мой проект для каждого текстового файла и каждого разработчика был UTF-8 и CRLF. 1) как мне настроить git для этого? 2) как мне поделиться этой настройкой git со всеми разработчиками, чтобы никто не мог забыть ее настроить?git CRLF и кодировка

Я немного прочитал о core.autocrlf и safecrlf, но я не вижу, как это относится к моей проблеме.

Спасибо всем.

+1

Почему вы хотите это сделать? Одна из лучших функций систем управления версиями - позволить людям на разных платформах (с разными окончаниями строк) работать вместе. Часть UTF-8 кажется разумной. –

+0

потому что я хочу стандартные инструменты (мы пытаемся сделать гибкие вещи). И у меня есть первокурсники как коллеги, поэтому я решаю за них. Более того, мы можем попробовать настроить, как только стандартизация будет работать. Пока ничего не работает, и я вижу сражение на концах линии. И сам, как ведущий разработчик, я не знаю, как настроить все. – nraynaud

ответ

0

Вы можете написать pre-commit hook, который проверяет наличие CRLF, который каждый (и, в частности, интегратор) помещает в свой каталог .git/hooks/. Например, проверка дерева на ! grep -qPrI '[^\r]$' . (если ваш grep поддерживает -P) (оговорка: я не действительно проверить это выражение). Точно так же вы также можете написать крючок, который проверяет, что все файлы действительны UTF-8.

Это, я думаю, что core.autocrlf (см. git-config) звучит скорее как решение для вашей проблемы CRLF; таким образом, все файлы в репозитории будут иметь LF, и тот, у кого есть инструменты, которые генерируют CRLF, не испортит вещи. На стороне кодирования избегайте использования не ASCII, или если это невозможно, убедитесь, что все инструменты настроены для UTF-8.

Наиболее важным моментом для проверки правильности (например, для окончаний строк и кодировок) является интегратор (то есть тот, к которому все клонируют). Если интегратор просто отказывается объединить фиксации, которые прерывают окончания строк и т. Д., Можно избежать большинства сбоев (хотя вкладчикам по-прежнему приходится настраивать свои инструменты, очевидно).

Как мне поделиться этой настройкой git со всеми разработчиками, чтобы никто не мог забыть ее настроить?

Вы можете распространять .git/config или ~/.gitconfig (или соответствующих записей в ней). Я не думаю, что можно автоматически распределять настройки через git clone.

Смежные вопросы