Когда использовать --keep-cr с am и в какой версии git он появился?
Я пытаюсь формализовать рабочий процесс патча для нашей организации. У нас есть внутренний проект, в котором мы не возражаем против пробелов (мы хотели бы, чтобы они оставались одинаковыми для каждого пользователя, если это возможно), символов EOF/EOL и т. Д. У нас есть разработчики, работающие на платформах Mac и Windows. В обоих местах мы используем Git с Cygwin.
Я прочитал здесь, что core.autocrlf true помогает, или вы можете использовать --keep-cr
, Но здесь VonC предлагает core.autocrlf
ложь - лучшая стратегия.
Мои вопросы:
- Когда использовать true, а когда false? (Я просто не хочу, чтобы git меня глючил, а патчи должны применяться плавно).
- Когда был
--keep-cr
представил? Я использую git 1.7.2 и у man-страницы нет этой опции? - Какие варианты игнорирования пробелов использовать для обеспечения плавного процесса исправления?
1 ответ
1.7.2 должен иметь --keep-cr
для git am, так как он был введен в коммит ad2c928 Stefan-W. Хан, включенный в Git 1.7.1.
когда вы знаете, что кормите выход из "
git format-patch
" прямо к "git am
", и особенно, когда у вашего содержимого есть CR в конце строки, такое удаление нежелательно. Чтобы помочь такому варианту использования, научите--keep-cr
вариант "git am
"и передать это"git mailinfo
".
Однако в Windows я всегда использую последнюю версию Git For Windows, а не Cygwin (даже если вы можете использовать обе версии).
Вопрос с core.autocrlf
является то, что это настройка всего хранилища, которая может влиять на все файлы (даже нетекстовые).
я предпочитаю core.eol
директивы.
Для пробелов вы можете попробовать " git: patch not apply ":
git apply --ignore-space-change --ignore-whitespace mychanges.patch