Когда использовать --keep-cr с am и в какой версии git он появился?

Я пытаюсь формализовать рабочий процесс патча для нашей организации. У нас есть внутренний проект, в котором мы не возражаем против пробелов (мы хотели бы, чтобы они оставались одинаковыми для каждого пользователя, если это возможно), символов EOF/EOL и т. Д. У нас есть разработчики, работающие на платформах Mac и Windows. В обоих местах мы используем Git с Cygwin.

Я прочитал здесь, что core.autocrlf true помогает, или вы можете использовать --keep-cr, Но здесь VonC предлагает core.autocrlf ложь - лучшая стратегия.

Мои вопросы:

  1. Когда использовать true, а когда false? (Я просто не хочу, чтобы git меня глючил, а патчи должны применяться плавно).
  2. Когда был --keep-cr представил? Я использую git 1.7.2 и у man-страницы нет этой опции?
  3. Какие варианты игнорирования пробелов использовать для обеспечения плавного процесса исправления?

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
Другие вопросы по тегам