Ok, this may not be new either, but I'm trying to be careful when
using "git am" these days, because I know it got rewritten.

And I _think_ the whitespace handling for adding sign-offs got scrogged.

I just applied the usual patch-bomb from Andrew, and several of the
commits (but not all) end up looking like this:

    Cc: <sta...@vger.kernel.org> [3.15+]
    Signed-off-by: Andrew Morton <a...@linux-foundation.org>

    Signed-off-by: Linus Torvalds <torva...@linux-foundation.org>

note the extraneous whitespace line between Andrew's sign-off and mine.

What's odd is that the emails I'm applying literally don't have that
extra empty line, so it's git that somehow decides to add it.  Only
for a few cases, though.

The pattern *seems* to be that git now looks at the *first* line of
the sign-off block and decides that "this is a sign-off block if that
first line has a sign-ff on it, ie this is fine:

    Signed-off-by: Andrea Arcangeli <aarca...@redhat.com>
    Cc: Pavel Emelyanov <xe...@parallels.com>
    Cc: Dave Hansen <dave.han...@intel.com>
    Cc: Linus Torvalds <torva...@linux-foundation.org>
    Signed-off-by: Andrew Morton <a...@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torva...@linux-foundation.org>

but the failing cases have a comment by Andrew:

    [a...@linux-foundation.org: coding-style fixes]
    Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com>
    Cc: Xishi Qiu <qiuxi...@huawei.com>
    Cc: Yasuaki Ishimatsu <isimatu.yasu...@jp.fujitsu.com>
    Cc: Kamezawa Hiroyuki <kamezawa.hir...@jp.fujitsu.com>
    Cc: Taku Izumi <izumi.t...@jp.fujitsu.com>
    Cc: Gu Zheng <guz.f...@cn.fujitsu.com>
    Cc: Naoya Horiguchi <n-horigu...@ah.jp.nec.com>
    Cc: Vlastimil Babka <vba...@suse.cz>
    Cc: Mel Gorman <mgor...@techsingularity.net>
    Cc: David Rientjes <rient...@google.com>
    Cc: <sta...@vger.kernel.org>        [4.2.x]
    Signed-off-by: Andrew Morton <a...@linux-foundation.org>

    Signed-off-by: Linus Torvalds <torva...@linux-foundation.org>

ie that "[a...@linux-foundation.org: coding-style fixes]" makes git am
now decide that the previous block of text was not a sign-off block,
so it adds an empty line before adding my sign-off. But very obviously
it *was* a sign-off block.

Maybe this isn't new at all, and it's just that I notice because I'm
looking for "git am" oddities.  Something is clearly wrong in
"has_conforming_footer()".

I *think* it's this part:

                if (!(found_rfc2822 ||
                      is_cherry_picked_from_line(buf + i, k - i - 1)))
                        return 0;

which basically returns 0 for _any_ line in the footer that doesn't
match the found_rfc2822 format.

I really think that if we find any "Signed-off-by:" in that last
chunk, we should not add a whitespace.

Comments?

                    Linus
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to