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

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

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

Мои вопросы:

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

person Mudassir Razvi    schedule 12.06.2014    source источник


Ответы (1)


1.7.2 должен иметь --keep-cr для git am, так как он был представлен в commit ad2c928 Стефан-В. Hahn, включенный в Git 1.7.1.

когда вы знаете, что вы передаете вывод из «git format-patch» непосредственно в «git am», и особенно когда ваше содержимое имеет CR в конце строки, такое удаление нежелательно. Чтобы помочь в таком случае использования, научите параметр --keep-cr "git am" и передайте его "git mailinfo".

Однако в Windows я всегда использую последний выпуск Git для Windows, не cygwin (хотя вы можете иметь оба ).

Проблема с core.autocrlf заключается в том, что это параметр для всего репозитория, который может повлиять на все файлы ( даже нетекстовые).
Я предпочитаю core.eol директивы.

Для пробелов вы можете попробовать "git: исправление не применяется":

git apply --ignore-space-change --ignore-whitespace mychanges.patch
person VonC    schedule 12.06.2014
comment
В чем разница между applyи am. Потому что я заметил, что некоторые патчи легко применяются с помощью применения, но создают проблемы при использовании am. - person Mudassir Razvi; 12.06.2014
comment
@MudassirRazvi Git am больше подходит для исправлений, приходящих с почты. - person VonC; 12.06.2014
comment
Это подводит к моему следующему вопросу. Что это меняет? Я создаю патч, используя формат-патч. Отправьте его моему коллеге через Outlook. он загружает и применяет патч, используя am. Что-то не так? - person Mudassir Razvi; 12.06.2014
comment
@MudassirRazvi ничего плохого, конечный результат тот же. У меня будет больше, когда я вернусь (я на улице, печатаю с телефона) - person VonC; 12.06.2014
comment
Будет ждать..! :) - person Mudassir Razvi; 12.06.2014
comment
@MudassirRazvi, чтобы узнать больше о разнице между am и apply: stackoverflow.com/q/12240154/6309. alblue.bandlem.com/2011/ 12/ хорошо читается: мне нравится передавать исправления через пакет (stackoverflow.com/a/16407577/6309, stackoverflow.com/a/24075658/6309) - person VonC; 12.06.2014