Я создал патч из трех коммитов, используя
git format-patch <revision_three_commits_ago>
Это создает три файла патча, которые я отправил по почте из своего ноутбука и прочитал почту на своем настольном компьютере (оба окна Windows).
Когда я делаю сейчас
git am --3way --ignore-space-change *.patch
применяются исправления, но я не получаю одинаковые идентификаторы SHA1 для коммитов. Поиск немного в исправленных файлах, я обнаружил, что измененные строки на моем настольном компьютере заканчиваются на LF, тогда как измененные строки на ноутбуке (где я создал патч) заканчиваются на CR LF.
Итак, моя первая мысль заключалась в том, чтобы называть git am без --ignore-space-change, но это дает мне ошибку (патч не применять).
Как я могу сказать git format-patch или git am о том, как обрабатывать окончания строки (msysgit 1.7.4)?
Нужно ли мне принимать VIM и изменять формат файла с UNIX до DOS, прежде чем я могу применить исправления?
РЕДАКТИРОВАТЬ: Даже модификация файлов патчей с помощью VIM не помогает: я думал, set ff=dos и :%s/^M//g помогут, но это не так!
По моему мнению, применение патча должно привести к тому, что точно тот же контент, а также тот же самый хеш-хэт, как я вытащил из другого репо, где был создан патч. Я думаю об этом неправильно?