From: Eric Wong Date: Mon, 25 Jul 2016 08:43:57 GMT Subject: Re: [PATCH] format-patch: escape "From " lines recognized by mailsplit Message-ID: <20160725084357.GA8025@starla> In-Reply-To: Junio C Hamano wrote: > Junio C Hamano writes: > > Eric Wong writes: > > > >> Users have mistakenly copied "From " lines into commit messages > >> in the past, and will certainly make the same mistakes in the > >> future. Since not everyone uses mboxrd, yet, we should at least > >> prevent miss-split mails by always escaping "From " lines based > >> on the check used by mailsplit. > >> > >> mailsplit will not perform unescaping by default, yet, as it > >> could cause further invocations of format-patch from old > >> versions of git to generate bad output. Propagating the mboxo > >> escaping is preferable to miss-split patches. Unescaping may > >> still be performed via "--mboxrd". > > > > As a tool to produce mbox file, quoting like this in format-patch > > output may make sense, I would think, but shouldn't send-email undo > > this when sending individual patches? > > Also, doesn't it break "git rebase" (non-interactive), or anything > that internally runs format-patch to individual files and then runs > am on each of them, anything that knows that each output file from > format-patch corresponds to a single change and there is no need to > split, badly if we do this unconditionally? Yes, rebase should probably unescape is_from_line matches. Anything which spawns an editor should probably warn/reprompt users on is_from_line() matches, too, to prevent user errors from sneaking in. > IOW, shouldn't this be an optional feature to format-patch that is > triggered by passing a new command line option that currently nobody > is passing? I added --pretty=mboxrd as the optional feature for this reason. It'll take a while for people to start using it (or perhaps make it the default in git 3.0). In the meantime, I would prefer extra ">" being injected rather than breaking mailsplit completely.