GIT CRLF to LF - git родительское хранилище в UNIX и клоны в Windows и Unix - PullRequest
1 голос
/ 10 сентября 2010

Этот вопрос чем-то похож на мой другой вопрос, убедитесь, что файлы конвертированы CRLF в LF в хуке обновления - есть ли снижение производительности?

Итак, вот что я ищу с приведенной ниже архитектурой. 1. МОЙ родительский репозиторий (голый и данные) находится на машине UNIX. 2. Я могу клонировать свой репозиторий на машинах UNIX. 3. Я могу клонировать свой репозиторий на компьютерах с Windows, используя samba для доступа к своему родительскому репо.

Как я могу позаботиться о проблемах CRLF, если

  1. Пользователь создает клоны в UNIX, отображает их с помощью samba на диск Windows, изменения выполняются в Windows, которая создает пару символов CR / LF в качестве EOL. Если пользователи возвращаются в Unix и фиксируют их. Как GIT заботится? или нам нужно иметь несколько крючков на месте?

  2. То же, что и выше, но формат файла превышает 8000 символов в строке - много. Это рассматривается как файл ASCII с CR, удаленным при фиксации?

  3. Вариант 2, но это двоичный файл с заголовком ASCII. Будет ли это непреднамеренно менять CR / LF на LF?

1 Ответ

0 голосов
/ 26 июля 2011

Два места для поиска: Git-config и git-attribute .

Вам необходимо определиться с вашим локальным стандартом, который будет зависеть от вашегодругие внешние программы, в частности корпоративные стандарты управления исходным кодом, и любые инструменты, которые ожидают определенного формата.

Страницы справочника кажутся немного запутанными при первом и втором чтении.Следует отметить, что такие зашифрованные кодировки, как «рабочий каталог», означают «извлеченные» файлы и т. Д.

По умолчанию используется значение «нормализовать», что означает, что файлы, переданные в репо, будут иметь LF-окончания.Затем с правильной настройкой вы можете извлекать файлы как [всегда] LF или [всегда] CRLF или выбираться на основе вашей [локальной] платформы.

Я не имею представления о длинных строках, но яожидайте, что git им вполне доволен.

Для специальных файлов с текстовыми заголовками и т. д. файл атрибутов git позволяет вам определять протоколы регистрации и извлечения файлов для конкретного типа и пути (примеры в manстраниц.

PS Я только что застрял на этом сам с Matlab's *.m eol=LF ;-)

...