From: Junio C Hamano <gitster@pobox.com>
To: Dragan Simic <dsimic@manjaro.org>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] diff --stat: add config option to limit filename width
Date: Mon, 11 Sep 2023 16:12:31 -0700 [thread overview]
Message-ID: <xmqqil8gs3s0.fsf@gitster.g> (raw)
In-Reply-To: <87badb12f040d1c66cd9b89074d3de5015a45983.1694446743.git.dsimic@manjaro.org> (Dragan Simic's message of "Mon, 11 Sep 2023 17:39:44 +0200")
Dragan Simic <dsimic@manjaro.org> writes:
> Add new configuration option diff.statNameWidth=<width> that is equivalent
> to the command-line option --stat-name-width=<width>, but it is ignored
> by format-patch. This follows the logic established by the already
> existing configuration option diff.statGraphWidth=<width>.
>
> Limiting the widths of names and graphs in the --stat output makes sense
> for interactive work on wide terminals with many columns, hence the support
> for these configuration options. They don't affect format-patch because
> it already adheres to the traditional 80-column standard.
>
> Update the documentation and add more tests to cover new configuration
> option diff.statNameWidth=<width>. While there, perform a few minor code
> and whitespace cleanups here and there, as spotted.
>
> Signed-off-by: Dragan Simic <dsimic@manjaro.org>
> ---
The stat lines have <width> (the entire display width),
<graph-width> (what appears after '|') and <name-width> (what
appears before '|'), so I would worry about letting users specify
all three to contradictory values, if there weren't an existing
command line option already. But of course there already is a
command line option, so somebody more clever than me must have
thought about how to deal with such an impossible settings, and
adding a configuration variable to specify the same impossible
settings to the system would not make things worse.
> Documentation/config/diff.txt | 4 ++++
> Documentation/diff-options.txt | 17 +++++++-------
> builtin/diff.c | 1 +
> builtin/log.c | 1 +
> builtin/merge.c | 1 +
> builtin/rebase.c | 1 +
Someday, as a follow-up after the dust from this topic settles, we
would probably want to look at how these rev.diffopt.* members are
initialized and refactor the common code out to a helper. It would
allow us to instead of doing this ...
> /* Set up defaults that will apply to both no-index and regular diffs. */
> rev.diffopt.stat_width = -1;
> + rev.diffopt.stat_name_width = -1;
> rev.diffopt.stat_graph_width = -1;
> rev.diffopt.flags.allow_external = 1;
> rev.diffopt.flags.allow_textconv = 1;
... in many places, do so in a single place in the helper function,
and these places will just call the helper:
std_graph_options(&rev.diffopt);
I do not know offhand if "stat graph options related members" is a
good line to draw, or there are other things that are common outside
these .stat_foo members. If the latter and the helper function will
initialize the members other than the stat-graph settings, its name
obviously needs a bit more thought, but you get the idae.
Thanks.
next prev parent reply other threads:[~2023-09-12 1:41 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-11 15:39 [PATCH] diff --stat: add config option to limit filename width Dragan Simic
2023-09-11 23:12 ` Junio C Hamano [this message]
2023-09-12 2:11 ` Dragan Simic
2023-09-12 17:11 ` Junio C Hamano
2023-09-12 17:48 ` Dragan Simic
2023-09-16 2:09 ` Dragan Simic
2023-09-18 16:38 ` Junio C Hamano
2023-09-19 1:27 ` Dragan Simic
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=xmqqil8gs3s0.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=dsimic@manjaro.org \
--cc=git@vger.kernel.org \
/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.