On Wed, Feb 7, 2018 at 12:10 PM, Linus Torvalds torvalds@linux-foundation.org wrote:
This new pull request looks better, I'll look at it next.
Ok, pulled and pushed out.
And the reason your diffstat looked like crap is that "git request-pull" simply does a diff between two points, not a real merge. That diff works fine for straight-line development, or for simple history, but when you have multiple branches that came in at different points, there is no single starting point for the diff.
So git picks _one_ common point for the start of the diff, and that is the right thing for the simple cases, but for the case where you have lots of different starting points, that one point will be right for _one_ branch, but for another branch it will contain (or miss) a lot of other development that happened between the starting points of the different branches.
But since "diff" is fundamentally a comparison between two points in history, it very fundamentally cannot do better.
If you want to get the real diffstat for that case, you have to do an actual test merge. A merge will do a *much* more complex operation, taking *all* the different base points into account. It really is a lot more complex thing. Then you can diff the two points of "before merge" and "after merge".
Linus