git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jonathan Nieder <jrnieder@gmail.com>,
	git@vger.kernel.org, John Fultz <jfultz@wolfram.com>
Subject: Re: [PATCH] filter-branch: resolve $commit^{tree} in no-index case
Date: Tue, 19 Jan 2016 21:00:39 -0500	[thread overview]
Message-ID: <20160120020039.GD24541@sigill.intra.peff.net> (raw)
In-Reply-To: <xmqqbn8h6mrl.fsf@gitster.mtv.corp.google.com>

On Tue, Jan 19, 2016 at 05:51:58PM -0800, Junio C Hamano wrote:

> Jeff King <peff@peff.net> writes:
> 
> >> Mph.  We could get the best of both worlds by introducing a "git
> >> rev-parse --compare <a> <b>" that compares object ids.  Actually...
> >> 
> >> How about something like this?
> >
> > Thanks. I had in my head that we could do something like that, but
> > hadn't quite worked it out. I think what you wrote works.
> 
> But wouldn't "diff-tree --quiet" essentially be that command?

I think Jonathan was responding to my point that "diff-tree --quiet"
_isn't_ quite the same, if you have mis-formatted tree objects. If the
sha1s are different, a rev-parse comparison will keep the commit. But
"diff-tree" will actually do the diff, and may consider different sha1s
to have the same content, dropping the second one.

It's a minor point, but I find one of my primary uses for filter-branch
these days is massaging out bogus objects made by older or buggy git
clients (not that I see _that_ many of them; I think it speaks more to
the fact that I don't really use filter-branch much these days).

> > If you want to wrap it up into a patch, I'd be OK with it, but note that
> > it still falls afoul of changing $tree in a user-visible way (so you
> > should note that in the commit message).
> 
> Yes, I think we should take your conservative variant for that exact
> reason.

I'm fine with that, too. We could also do the conservative variant for
"maint", and then do the other with a deprecation warning. I think I
decided I don't care enough to go through those motions myself, but I
don't mind if somebody else wants to.

-Peff

  reply	other threads:[~2016-01-20  2:00 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-19 20:48 git filter-branch not removing commits when it should in 2.7.0 John Fultz
2016-01-19 21:14 ` Junio C Hamano
2016-01-19 21:35   ` Junio C Hamano
2016-01-19 21:37     ` Jeff King
2016-01-19 21:46       ` Junio C Hamano
2016-01-19 21:51         ` [PATCH] filter-branch: resolve $commit^{tree} in no-index case Jeff King
2016-01-19 21:59           ` Jeff King
2016-01-19 22:07             ` Jeff King
2016-01-19 22:23               ` Junio C Hamano
2016-01-19 22:28             ` Jeff King
2016-01-19 22:48               ` Jeff King
2016-01-20  1:22               ` Jonathan Nieder
2016-01-20  1:34                 ` Jeff King
2016-01-20  1:51                   ` Junio C Hamano
2016-01-20  2:00                     ` Jeff King [this message]
2016-01-20  2:43                       ` Junio C Hamano
2016-01-20  3:23                         ` Junio C Hamano
2016-01-20  4:14                           ` Jeff King
2016-01-20  0:47           ` Jonathan Nieder

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=20160120020039.GD24541@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jfultz@wolfram.com \
    --cc=jrnieder@gmail.com \
    /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;
as well as URLs for NNTP newsgroup(s).