public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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

  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