Какой самый простой способ применить серию патчей git от Thunderbird? - PullRequest
6 голосов
/ 17 октября 2011

У меня есть письмо с N вложениями в формате 000X-xxxx.patch. Я хотел бы применить все патчи поверх моего мастера, но я бы хотел, чтобы все коммиты были отдельными, так как оригинальный автор их коммитил. Включая сообщение о коммите, конечно.

Способ 1. Откройте письмо, нажмите «Сохранить как», xxx.eml, а затем:

git am xxx.eml

Результат в порядке, но все сводится к одному коммиту. Неприемлемо.

Способ 2. Все вложения сохраняются в каталоге, затем:

git am 000*.patch
Patch format detection failed.
git apply 000*.patch
(does nothing)

Это не работает. Советы? Спасибо.

Ответы [ 2 ]

2 голосов
/ 17 октября 2011

Читая справочную страницу git am, похоже, что сообщение о фиксации формируется из строки Subject: и тела сообщения, что означает, что вы не сможете восстановить исходную последовательность фиксаций (что в том смысле, что нет способа восстановить сообщение о коммите, которое автор использовал для каждого отдельного коммита) ... хотя, согласно man-странице, git am предназначено для работы со встроенными патчами, а не с патчами, включенными в качестве вложений, поэтому я ' Я удивлен, что все делает правильно, даже в методе 1.

Если вы хотите отказаться от сообщений фиксации, вы сможете сохранить исправления в отдельных файлах и просто git apply ... последовательно.

0 голосов
/ 11 августа 2016

Насколько я смог найти, у Thunderbird нет толкового способ сохранить несколько писем в виде отдельных файлов одновременно. Вы можете сохраняйте их по одному за раз, и это работает для небольших наборов патчей.

По иронии судьбы, я случайно обнаружил самый простой способ, отправив исправления Linux коллеге, который не следует спискам рассылки. Переслать их Для себя (в виде вложений).

  1. Выберите все электронные письма с патчем
  2. Направьте их себе как вложения
  3. Сохранить все вложения в соответствующий каталог
  4. применить электронные письма. например, "git am my_patch_dir / [PATCH -v5 *"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...