git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Heikki Orsila <shd@modeemi.fi>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] Add --filedirstat diff option
Date: Tue, 02 Sep 2008 16:55:39 -0700	[thread overview]
Message-ID: <7v3akigl1g.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <7vwshuglq1.fsf@gitster.siamese.dyndns.org> (Junio C. Hamano's message of "Tue, 02 Sep 2008 16:40:54 -0700")

Junio C Hamano <gitster@pobox.com> writes:

> Heikki Orsila <shd@modeemi.fi> writes:
>
>> On Mon, Sep 01, 2008 at 11:57:46PM -0700, Junio C Hamano wrote:
>>> Heikki Orsila <heikki.orsila@iki.fi> writes:
>>> 
>>> > @@ -2474,7 +2478,10 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac)
>>> >  		options->output_format |= DIFF_FORMAT_DIRSTAT;
>>> >  	else if (!strcmp(arg, "--cumulative"))
>>> >  		options->output_format |= DIFF_FORMAT_CUMULATIVE;
>>> > -	else if (!strcmp(arg, "--check"))
>>> > +	else if (opt_arg(arg, 'X', "filedirstat", &options->dirstat_percent)) {
>>> > +		options->output_format |= DIFF_FORMAT_DIRSTAT;
>>> > +		options->filedirstat = 1;
>>> 
>>> Why 'X'?  It would never match, confusing to the reader, and risks a
>>> sudden change in behaviour when these statements are reordered or somebody
>>> mechanically attempts to convert this to parse_options().
>>
>> This is embarrassing.. I just copied the previous "dirstat" line.. 
>> *grin*
>>
>> Anyway, what about the concept of filedirstat? Is it agreeable?
>
> I am neutral.
>
> I do not think the additional code hurts anybody, so I wouldn't say I do
> not want to have the patch anywhere near my tree, but on the other hand,
> personally I do not find the feature as interesting or useful as dirstat.
>
> Maybe there are many others who do find this option useful.  I dunno.

While I was thinking about potential issues before queuing this, I
realized that I forgot to mention one thing.

The name.

"filedirstat" is simply too long to type, and it has a certain "Huh?"
factor --- is it about file, or is it about directory?

This option essentially is just the dirstat but with different logic to
compute how big the damage is.  Conceptually, the original one gives one
"damage point" to each added or deleted line.

        $ git show --dirstat=<one-point-per-line>

and yours awards one point to each file, whatever the size of the damage
is.

        $ git show --dirstat=<one-point-per-file>

I cannot come up with a short-and-sweet name for one-point-per-X offhand,
but expressing this variant as an option to --dirstat will leave the door
open for other people to come up with different system to award damage
points.  Perhaps

	$ git show --dirstat=exclude-typofixes

might even be not just interesting but useful ;-)

Again, I mention this not because I want to reject the patch, but because
I hope other people with better UI taste may come up with an alternative
before I finish handling other patches.

  reply	other threads:[~2008-09-02 23:56 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-01  1:12 [PATCH] Add --filedirstat diff option Heikki Orsila
2008-09-02  6:57 ` Junio C Hamano
2008-09-02 11:58   ` Heikki Orsila
2008-09-02 23:40     ` Junio C Hamano
2008-09-02 23:55       ` Junio C Hamano [this message]
2008-09-03  0:08         ` Heikki Orsila
2008-09-03  0:28           ` Re* " Junio C Hamano
2008-09-03  0:39             ` Heikki Orsila
2008-09-03  0:12         ` Jeff King
2008-09-03  0:18           ` Heikki Orsila
2008-09-03  0:44           ` Junio C Hamano
2008-09-03 12:47             ` Jeff King
  -- strict thread matches above, loose matches on Subject: below --
2008-09-02 23:51 Heikki Orsila

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=7v3akigl1g.fsf@gitster.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=shd@modeemi.fi \
    /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).