From: Michael J Gruber <git@drmicha.warpmail.net>
To: Jeff King <peff@peff.net>
Cc: Junio C Hamano <gitster@pobox.com>,
git@vger.kernel.org, Matthieu Moy <Matthieu.Moy@imag.fr>
Subject: Re: [PATCHv3 3/7] show: honor --textconv for blobs
Date: Mon, 13 May 2013 16:57:55 +0200 [thread overview]
Message-ID: <5190FF73.1080606@drmicha.warpmail.net> (raw)
In-Reply-To: <20130513115451.GA3903@sigill.intra.peff.net>
Jeff King venit, vidit, dixit 13.05.2013 13:55:
> On Sun, May 12, 2013 at 10:01:38PM -0700, Junio C Hamano wrote:
>
>> Michael J Gruber <git@drmicha.warpmail.net> writes:
>>
>>> Adding to that:
>>>
>>> Somehow I still feel I should introduce a new attribute "show" (or a
>>> better name) similar to "diff" so that you can specifiy a diff driver to
>>> use for showing a blob (or grepping it), which may or may not be the
>>> same you use for "diff". This would be a much more fine-grained and
>>> systematic way of setting a default for "--textconv" for blobs.
>>>
>>> Of course, some driver attributes would just not matter for coverting
>>> blobs, but that doesn't hurt.
>>>
>>> I'm just wondering whether it's worth the effort and whether I should
>>> distinguish between "show" and grep".
>>
>> Haven't thought things through, but my gut feeling is that it is on
>> the other side of the line. We could of course add more features and
>> over-engineered mechanisms, and the implementation may end up to be
>> even modular and clean, but I cannot answer "Yes" with a confidence
>> to the question "Does such a fine grained control help the users?"
>> and cannot answer "If so in what way?" myself.
>
> Yeah, I think the _most_ flexible thing is going to look something like:
>
> $ cat .gitattributes
> *.pdf diff=pdf show=pdf
>
> $ cat ~/.gitconfig
> [diff "pdf"]
> textconv = ...
> [show "pdf"]
> textconv = ...
>
> But that obviously sucks, because in the common case that you want to
> use the same command, you are repeating yourself in the config. You
> could assume that the "show" attribute points us at a "diff" block. And
> that makes sense for textconv, but what does it mean if you have
> "show=foo" and "diff.foo.command" set?
I don't propose "show drivers". In your example above, you would point
to the same diff driver.
If you use a diff driver just with the "show" attribute then only its
textconv config will be relevant.
But you do have the possibility to use different drivers for diff and
show. For example, for showing a file some sort of automatic pagination
or line numbering can be helpful whereas it would hurt the diff case.
> If the _only_ thing you would want to do with such a "show" mechanism is
> to display converted contents on show/grep, then we could lose the
> flexibility and say that "show" is a single-bit: do we respect diff
> textconv for show/grep in this case, or not? And that leaves only the
> question of where to put it: is it a gitattribute, or does it go in the
> config?
>
> I don't think that it is a property of the file itself. That is, you do
> not say "foo files are inherently uninteresting to git-show, and
> therefore we always convert them, whereas bar files do not have that
> property'. You say "in my workflows, I expect to see converted results
> from grep/show". And the latter points to using config, like either
> "diff.*.showConverted" (to allow per-type setting), or even
> "grep.useTextconv" and "show.textConv" (to allow setting it per-user for
> all types).
I strongly disagree here. I have textconv filters for pdf, gpg, odf,
xls, doc, xoj... I know, ugly. At least some of them would benefit from
different filteres or different settings.
The way I propose it, a user would just have to add "show=foo" to the
"diff=foo" lines without having to ad an extra filter, but with the
flexibility to do so.
> And of course for any workflow-oriented config, you will sometimes want
> to override it for a particular operation. But that is why we have a
> command-line escape hatch, and that part is already implemented.
One may ask what a purely ui output oriented setting like "show" has to
do in .gitattributes, of course, but that applies to "diff" as well.
Separating the two (one in attributes, one in config) looks artificial
to me.
Michael
next prev parent reply other threads:[~2013-05-13 14:57 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
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 [this message]
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=5190FF73.1080606@drmicha.warpmail.net \
--to=git@drmicha.warpmail.net \
--cc=Matthieu.Moy@imag.fr \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.