Re: [GIT PULL] arm64: Fixes for -rc4

From: Ingo Molnar
Date: Mon Oct 21 2019 - 02:47:04 EST

* Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> What you doing the merge does is to turn the multiple merge bases into
> just one point: the thing you merged against now becomes the common
> merge point, and now you have a "two endpoints" for the diffstat: the
> thing you merged against, and your end result are now the two points
> that you can diff against.
> But the shortlog is always correct, because it just doesn't even care
> about that whole issue.

FWIW I regularly ran into this problem too and resolved it manually by
'emulating' your merge. (Once every 20-30 pull requests or so. Finally
ended up scripting around request-pull altogether.)

I think at least once I ran into that and sent you a 'slightly wrong'
diffstat - and maybe there's also been a few cases where you noticed
diffstats that didn't match your merge result, double checked it yourself
and didn't complain about it because you knew that this is a "git
request-pull" artifact?

Most of the time I notice it like Will did because the diffstat is
obviously weird and it's good to check pull requests a second (and a
third :-) time as well, but it's possible to have relatively small
distances between the merge bases where the diffstat doesn't look
'obviously' bogus and mistakes can slip through.

Anyway, a small Git feature request: it would be super useful if "git
request-pull" output was a bit more dependable and at least warned about
this and didn't include what is, from the viewpoint of the person doing
the merge, a bogus diffstat. (Generating the correct diffstat is probably
beyond request-pull's abilities: it would require changing the working
tree to actually perform the merge - while request-pull is a read-only
operation right now. But detecting the condition and warning about it
should be possible?)