Web lists-archives.com

Quoted-printable support in git am




Hello everyone,

Recently, the SMTP server we use at work started mangling outgoing
messages, by converting them to quoted-printable, whatever their
original encoding (even 7-bit clean, pure ASCII).

This breaks patches I send to Linux mailing lists, because it changes
TAB to =09, EQUAL to =3D, TRAILING SPACE to =20 and also wraps long
lines using a "=" continuation.

It looks like 'git am' doesn't support decoding this mess.
(I tried git version 2.14.2)

$ git am ~/rc.patch
Applying: media: rc: Add driver for tango IR decoder
error: patch failed: drivers/media/rc/Kconfig:469
error: drivers/media/rc/Kconfig: patch does not apply
error: patch failed: drivers/media/rc/Makefile:44
error: drivers/media/rc/Makefile: patch does not apply
Patch failed at 0001 media: rc: Add driver for tango IR decoder
The copy of the patch that failed is found in: .git/rebase-apply/patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

Is there a magic option I should be passing to git am?


The patch header contains:

Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable


The drivers/media/rc/Kconfig:469 part is

--- a/drivers/media/rc/Kconfig
+++ b/drivers/media/rc/Kconfig
@@ -469,6 +469,11 @@ config IR_SIR
  =09   To compile this driver as a module, choose M here: the module will
  =09   be called sir-ir.
 =20
+config IR_TANGO
+=09tristate "Sigma Designs SMP86xx IR decoder"
+=09depends on RC_CORE
+=09depends on ARCH_TANGO || COMPILE_TEST
+
  config IR_ZX
  =09tristate "ZTE ZX IR remote control"
  =09depends on RC_CORE


Googling a bit...
https://stackoverflow.com/questions/6289001/git-am-format-patch-control-format-of-line-endings
https://public-inbox.org/git/24940e12-3f72-1ef0-0983-58523d8dec51@xxxxxxxxxx/t/

Looks like it should work...

Maybe I hit some weird corner case?

Regards.