Какой самый простой способ применить серию патчей 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 коллеге, который не следит за списками рассылки. Вперед них К себе (как к привязанностям).

  1. выберите все исправления письма
  2. переслать их себе в качестве вложений
  3. сохранить все вложения в соответствующий каталог
  4. применить писем. e.g " git am my_patch_dir / [патч-v5*"