У мене є сховище Git, до якого можна отримати доступ як з Windows, так і з ОС X, і я знаю, що він містить деякі файли із закінченнями рядків CRLF. Наскільки я можу сказати, з цим вирішити два способи:
Набір
core.autocrlf
дляfalse
всюди,Виконайте тут інструкції (наголошуються на довідкових сторінках GitHub), щоб конвертувати сховище, щоб він містив лише закінчення рядків LF, а потім встановлено
core.autocrlf
вtrue
Windows таinput
OS X. Проблема з цим полягає в тому, що якщо у мене є будь-які бінарні файли у сховищі що:- неправильно позначені як двійкові в gitattributes, і
- містять як CRLF, так і LF,
вони будуть зіпсовані. Можливо, моє сховище містить такі файли.
То чому б мені просто не вимкнути постійну конверсію Git? В Інтернеті є багато розпливчастих попереджень про те, що core.autocrlf
вимкнутись, викликаючи проблеми, але конкретних дуже мало ; Єдине, що я виявив до цих пір, це те, що kdiff3 не може обробляти закінчення CRLF (для мене не проблема), а деякі текстові редактори мають рядкові проблеми (також не є проблемою для мене).
Репозиторій є внутрішнім для моєї компанії, і тому мені не потрібно переживати, щоб ділитися ним з людьми з різними налаштуваннями автопосилання або вимогами до закінчення рядків.
Чи є якісь інші проблеми з тим, щоб просто залишити закінчення рядків як - це я не знаю?
autocrlf
значення false. Я шукаю причини, щоб встановити це як істинне.
autocrlf = input
: це, здається, є ідеальним дозволом між двома крайнощами: ви зберігаєте репо в чистоті від лайнів CRLF, і локально розробники Windows можуть використовувати все, що завгодно, без того, щоб їх локальні файли автоматично зробили щось магічне. (Вони можуть захотіти на місцевому рівні з різних причин, тому true
на мою думку це погано.) Я не бачу жодних недоліків у використанні autocrlf = input
.
autocrlf
від помилки.