Какой самый простой способ применить серию патчей git от Thunderbird
у меня есть почта с N вложениями в 000X-xxxx.формат патча. Я хотел бы применить все патчи поверх моего мастера, но я хотел бы, чтобы все коммиты были отдельными, так как первоначальный автор их совершил. Включая сообщение commit, конечно.
метод 1: откройте письмо, нажмите Сохранить как, xxx.эмл и затем:--3-->
git am xxx.eml
результат в порядке, но все раздавлено в одну фиксацию. Неприемлемый.
Способ 2. Все вложения сохранено в каталоге, затем:
git am 000*.patch
Patch format detection failed.
git apply 000*.patch
(does nothing)
это не работает. Советы? Спасибо.
2 ответов
чтение git am
man-страница, похоже, что сообщение фиксации формируется из темы: строка и тело сообщения, что означает, что вы не сможете воссоздать исходную последовательность фиксаций (то есть нет средств для восстановления сообщения фиксации, которое автор использовал для каждой отдельной фиксации)...хотя, согласно man-странице,git am
предназначен для работы со встроенными патчами, а не патчами, включенными в качестве вложений, поэтому я удивлен, что он делает все правильно вещь даже в методе 1.
Если вы готовы отказаться от сообщений фиксации, вы должны иметь возможность сохранять исправления в отдельные файлы и просто git apply ...
их в определенной последовательности.
насколько я смог найти, Thunderbird не имеет разумного способ сохранения нескольких писем в виде отдельных файлов одновременно. Вы можете однако сохраняйте их по одному, и это работает для небольших наборов патчей.
по иронии судьбы, я случайно обнаружил самый простой способ, отправив патчи Linux коллеге, который не следит за списками рассылки. Вперед них К себе (как к привязанностям).
- выберите все исправления письма
- переслать их себе в качестве вложений
- сохранить все вложения в соответствующий каталог
- применить писем. e.g " git am my_patch_dir / [патч-v5*"