From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
Al Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Hellwig <hch@infradead.org>,
linux-fsdevel <linux-fsdevel@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [GIT PULL] configfs updates for 4.8
Date: Thu, 28 Jul 2016 18:07:00 -0400 [thread overview]
Message-ID: <1469743620.2324.20.camel@HansenPartnership.com> (raw)
In-Reply-To: <CA+55aFzMfVuqd1qLaA7dUxC9YTvOdCkx7WNuUJY-4R_cPAj5bA@mail.gmail.com>
On Thu, 2016-07-28 at 13:24 -0700, Linus Torvalds wrote:
> On Thu, Jul 28, 2016 at 1:18 PM, Al Viro <viro@zeniv.linux.org.uk>
> wrote:
> >
> > FWIW, git request-pull is very likely to make complete mess of
> > diffstat - all it takes is branch started at -rc1, then a merge
> > from
> > anything started at later point (e.g. Miklos asking to pull
> > ->d_real()
> > work from his tree into vfs.git, with his branch starting at -rc5).
>
> Yes. git request-pull doesn't do a real merge, and if you have
> multiple merge bases, the diffstat is usually garbage (because you
> also end up getting diffs that are all about the differences in merge
> bases, not the branch itself).
Just in case it helps, this is what I do:
I keep a static base around for each tree. Its the commit for which
git log base...HEAD only returns the commits I've pulled or committed
myself. I think mathematically, if you do a pairwise comparison of all
the trees you've pulled, it ends up being the latest (tree relative)
foreign commit that doesn't appear in any other tree you've pulled.
if you can't be bothered to calculate it, then you can always merge up
to some point in Linus' head beyond yours and that then becomes your
base.
I store it in a xxx-base branch for the xxx tree and then do
git diff --stat -M --summary xxx-base...xxx
James
> So people who have more complex git history are certainly encouraged
> to
>
> (a) do their own test-merge anyway, just to see that everything is
> fine, and to be able to report to me about merge conflicts
>
> (b) use the result of that test-merge to generate a better diff-stat
> than git request-pull does.
>
> So yes, people who have more complex git trees are very much welcome
> to improve on git request-pull output. It's aoppreciated.
>
> What is *not* appreciated is when people send something worse ;)
>
> git request-pull tends to do really well for simple and
> straightforward git users, which is what it's geared towards. If you
> have linear history and don't do back-merges (which you shouldn't do
> unless you really really know what you are doing anyway), you'll
> never see the limitations of the stupid "just diff against the merge
> base" approach.
>
> Linus
next prev parent reply other threads:[~2016-07-28 22:07 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-28 13:30 [GIT PULL] configfs updates for 4.8 Christoph Hellwig
2016-07-28 20:05 ` Linus Torvalds
2016-07-28 20:18 ` Al Viro
2016-07-28 20:24 ` Linus Torvalds
2016-07-28 22:07 ` James Bottomley [this message]
2016-07-29 7:11 ` Christoph Hellwig
2016-07-29 7:56 ` Christoph Hellwig
2016-07-29 7:56 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1469743620.2324.20.camel@HansenPartnership.com \
--to=james.bottomley@hansenpartnership.com \
--cc=hch@infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox