From: Jeff King <peff@peff.net>
To: Michael J Gruber <git@drmicha.warpmail.net>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH 2/6] show: obey --textconv for blobs
Date: Sat, 20 Apr 2013 23:37:10 -0400 [thread overview]
Message-ID: <20130421033710.GA18890@sigill.intra.peff.net> (raw)
In-Reply-To: <51729A6D.3030501@drmicha.warpmail.net>
On Sat, Apr 20, 2013 at 03:38:53PM +0200, Michael J Gruber wrote:
> > Wait, this does the opposite of the last patch. If we do want to do
> > this, shouldn't the last one have been an "expect_failure"?
>
> The last patch just documents the status quo, which is not a bug per se.
> Therefore, no failure, but change in the definition of "success".
IMHO, the series is easier to review if you it does not go back and
forth. If you have one patch that says "X is the right behavior", and
then another patch that flips it to say "Y is the right behavior", the
reviewer would read each in sequence and want to be convinced by your
arguments for X and Y. But you probably cannot make a good argument for
X if you are trying to end up at Y. :)
So I'd much rather see the test introduced with the desired end
behavior, marked as expect_failure, and the commit message contain an
argument about why Y is a good thing (and squashing the tests in with
the actual fix is often even better, because the fix itself would want
to contain the same argument).
Just my two cents as a reviewer.
> My reasoning is twofold:
>
> - consistency between "git show commit" and "git show blob"
I'm not sure I agree with this line of reasoning. "git show commit" is
showing a diff, not the file contents; textconv has always been about
munging the contents to produce a textual diff. It may be reasonable to
extend its definition to "this is the preferred human view of this
content, and that happens to be what you would want to produce a diff".
But I do not think it is necessarily inconsistent not to apply it for
the blob case.
> - "git show" is a user facing command, and as such should produce output
> consumable by humans; whereas "git cat-file" is plumbing and should
> produce raw data unless told otherwise (-p, --textconv).
That holds if the textconv is the only (or best) human-readable version
of the file. And maybe that is reasonable. But is it possible that
somebody uses "textconv" to produce a better diff of some already
human-readable format? For example, imagine I define a textconv for XML
files that normalizes the formatting to make diffs less noisy. When I am
not looking at a diff, what is the best human-readable version? The
original, or the normalized one? I'm not sure.
Note that I'm somewhat playing devil's advocate here. For the cases
where I have used textconv in the real world, I think I would probably
prefer seeing the converted contents, and I am happy to call it user
error if I use "git show HEAD:foo.jpg >bar.jpg" accidentally. But I also
want to make sure we are not regressing somebody else unnecessarily.
-Peff
next prev parent reply other threads:[~2013-04-21 3:37 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-19 16:44 [PATCH 0/6] grep with textconv Michael J Gruber
2013-04-19 16:44 ` [PATCH 1/6] t4030: demonstrate behavior of show " Michael J Gruber
2013-04-20 4:04 ` Jeff King
2013-04-20 13:35 ` Michael J Gruber
2013-04-19 16:44 ` [PATCH 2/6] show: obey --textconv for blobs Michael J Gruber
2013-04-20 4:06 ` Jeff King
2013-04-20 13:38 ` Michael J Gruber
2013-04-21 3:37 ` Jeff King [this message]
2013-04-22 10:29 ` Michael J Gruber
2013-04-22 15:25 ` Junio C Hamano
2013-04-22 15:29 ` Jeff King
2013-04-22 15:37 ` Jeremy Rosen
2013-04-22 15:54 ` Matthieu Moy
2013-04-23 8:58 ` Michael J Gruber
2013-04-19 16:44 ` [PATCH 3/6] cat-file: do not die on --textconv without textconv filters Michael J Gruber
2013-04-19 18:15 ` Junio C Hamano
2013-04-20 4:17 ` Jeff King
2013-04-20 14:27 ` Michael J Gruber
2013-04-19 16:44 ` [PATCH 4/6] t7008: demonstrate behavior of grep with textconv Michael J Gruber
2013-04-19 16:44 ` [PATCH 5/6] grep: allow to use textconv filters Michael J Gruber
2013-04-20 4:31 ` Jeff King
2013-04-19 16:44 ` [PATCH 6/6] grep: obey --textconv for the case rev:path Michael J Gruber
2013-04-20 4:24 ` Jeff King
2013-04-20 14:42 ` Michael J Gruber
2013-04-21 3:41 ` Jeff King
2013-04-19 18:24 ` [PATCH 0/6] grep with textconv Junio C Hamano
2013-04-20 4:26 ` Jeff King
2013-04-20 13:32 ` Michael J Gruber
2013-04-23 12:11 ` [PATCHv2 0/7] " Michael J Gruber
2013-04-23 12:11 ` [PATCHv2 1/7] t4030: demonstrate behavior of show " Michael J Gruber
2013-04-23 15:11 ` Junio C Hamano
2013-04-23 12:11 ` [PATCHv2 2/7] show: obey --textconv for blobs Michael J Gruber
2013-04-23 15:14 ` Junio C Hamano
2013-04-24 10:09 ` Michael J Gruber
2013-04-24 17:30 ` Junio C Hamano
2013-04-23 12:11 ` [PATCHv2 3/7] cat-file: do not die on --textconv without textconv filters Michael J Gruber
2013-04-23 15:15 ` Junio C Hamano
2013-04-23 12:11 ` [PATCHv2 4/7] t7008: demonstrate behavior of grep with textconv Michael J Gruber
2013-04-23 15:16 ` Junio C Hamano
2013-04-24 10:09 ` Michael J Gruber
2013-04-24 17:29 ` Junio C Hamano
2013-04-23 12:11 ` [PATCHv2 5/7] grep: allow to use textconv filters Michael J Gruber
2013-04-23 12:11 ` [PATCHv2 6/7] grep: honor --textconv for the case rev:path Michael J Gruber
2013-04-23 12:11 ` [PATCHv2 7/7] git grep: honor textconv by default Michael J Gruber
2013-04-23 15:20 ` Junio C Hamano
2013-04-24 10:05 ` Michael J Gruber
2013-04-24 17:35 ` Junio C Hamano
2013-04-24 17:57 ` Matthieu Moy
2013-04-24 18:55 ` Junio C Hamano
2013-04-26 11:59 ` Michael J Gruber
2013-04-26 13:23 ` Matthieu Moy
2013-04-29 9:04 ` Michael J Gruber
2013-04-29 15:04 ` Junio C Hamano
2013-05-10 15:08 ` [PATCHv3 0/7] textconv with grep and show Michael J Gruber
2013-05-10 15:10 ` [PATCHv3 1/7] t4030: demonstrate behavior of show with textconv Michael J Gruber
2013-05-10 15:10 ` [PATCHv3 2/7] diff_opt: track whether flags have been set explicitly Michael J Gruber
2013-05-10 15:31 ` Eric Sunshine
2013-05-10 15:10 ` [PATCHv3 3/7] show: honor --textconv for blobs Michael J Gruber
2013-05-10 17:02 ` Junio C Hamano
2013-05-10 17:34 ` Jeff King
2013-05-10 18:04 ` Junio C Hamano
2013-05-11 0:25 ` Jeff King
2013-05-11 19:54 ` Junio C Hamano
2013-05-11 8:54 ` Michael J Gruber
2013-05-11 10:00 ` Michael J Gruber
2013-05-13 5:01 ` Junio C Hamano
2013-05-13 11:55 ` Jeff King
2013-05-13 14:57 ` Michael J Gruber
2013-05-13 15:41 ` Junio C Hamano
2013-05-16 3:31 ` Jeff King
2013-05-11 17:36 ` Junio C Hamano
2013-05-12 12:13 ` Michael J Gruber
2013-05-10 15:10 ` [PATCHv3 4/7] cat-file: do not die on --textconv without textconv filters Michael J Gruber
2013-05-10 15:10 ` [PATCHv3 5/7] t7008: demonstrate behavior of grep with textconv Michael J Gruber
2013-05-10 15:10 ` [PATCHv3 6/7] grep: allow to use textconv filters Michael J Gruber
2013-05-10 15:10 ` [PATCHv3 7/7] grep: honor --textconv for the case rev:path Michael J Gruber
2013-05-10 18:11 ` Junio C Hamano
2013-05-10 18:31 ` Junio C Hamano
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=20130421033710.GA18890@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=git@drmicha.warpmail.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.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).