git am душит символы из моих сообщений коммитов

Я использую некоторые личные аннотации в моих сообщениях git commit.

Например, когда я исправил что-то в модуле MOD_Aсообщение коммита выглядит так:

FIX [MOD_A] Fixed something

Пока есть FIX перед [MOD_A]все работает нормально, если я сгенерирую патч используя

git format-patch

отправить этот патч в виде вложения куда-то, а затем использовать

git am --keep-cr *.patch

чтобы сохранить этот коммит в другом репо.

Но: если у меня нет FIX перед [MOD_A] (т.е. [MOD_A] Fixed something), в другом репо после начала сообщения отсутствует git am, Все сообщение коммита только Fixed something,

Я подозреваю, что это как-то связано с форматом строки " Тема" электронного письма, созданного git format-patch:

Subject: [PATCH 23/27] [MOD_A] Fixed something

Кажется, потому что [PATCH 23/27] заключено в квадратные скобки, также [MOD_A] игнорируется

Есть ли способ получить мой [MOD_A] не игнорируется?

2 ответа

Решение

Если вы можете жить без [PATCH x/x] автоматически добавляется в строку темы, вы можете сделать git format-patch -k а потом git am -k ...

я полагаю, просто выдвинуть ваши патчи в другой репо не вариант

С git версии 1.8.4 (возможно, и раньше) вы также можете использовать: git am --keep-non-patch, Это проходит -b флаг для git mailinfo:

-b

       When -k is not in effect, all leading strings bracketed with [ and ] 
       pairs are stripped. This option limits the stripping to only the pairs
       whose bracketed string contains the word "PATCH".

Emanuele

Другие вопросы по тегам