From: Jeff King <peff@peff.net>
To: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: [PATCH] format-patch: set diffstat width to 70 instead of default 80
Date: Mon, 22 Jan 2018 18:52:02 -0500 [thread overview]
Message-ID: <20180122235202.GA26357@sigill.intra.peff.net> (raw)
In-Reply-To: <20180122123154.8301-1-pclouds@gmail.com>
On Mon, Jan 22, 2018 at 07:31:54PM +0700, Nguyễn Thái Ngọc Duy wrote:
> Patches or cover letters generated by format-patch are meant to be
> exchanged as emails, most of the time. And since it's generally agreed
> that text in mails should be wrapped around 70 columns or so, make sure
> these diffstat follow the convention.
>
> I noticed this when I quoted a diffstat line [1]. Should we do something
> like this? diffstat is rarely quoted though so perhaps the stat width
> should be something like 75.
I think the general idea is sensible. Somewhere I picked up "72" as the
right size for email lines to accommodate quoting, but I'm pretty sure
you could justify any number between 70 and 75. :)
A few thoughts looking at the patch:
> diff --git a/builtin/log.c b/builtin/log.c
> index 14fdf39165..6be79656c5 100644
> --- a/builtin/log.c
> +++ b/builtin/log.c
> @@ -1061,6 +1061,7 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout,
>
> memcpy(&opts, &rev->diffopt, sizeof(opts));
> opts.output_format = DIFF_FORMAT_SUMMARY | DIFF_FORMAT_DIFFSTAT;
> + opts.diffopt.stat_width = 70;
>
> diff_setup_done(&opts);
I wondered how this should interact with any config, but I don't think
you can actually configure the stat-width. You _can_ configure
diff.statgraphwidth, though, which seems like a funny inconsistency.
Anyway, I'm not it would make sense to prefer any kind of generic
diff.statwidth to this value. The point is that the context here has to
do with emails, not just terminals, and the rules are different. So I
think you'd need format.statwidth or something. I'm perfectly willing to
punt on that until somebody actually cares.
> @@ -1611,9 +1612,12 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
> die(_("--check does not make sense"));
>
> if (!use_patch_format &&
> - (!rev.diffopt.output_format ||
> - rev.diffopt.output_format == DIFF_FORMAT_PATCH))
> + (!rev.diffopt.output_format ||
> + rev.diffopt.output_format == DIFF_FORMAT_PATCH)) {
> rev.diffopt.output_format = DIFF_FORMAT_DIFFSTAT | DIFF_FORMAT_SUMMARY;
> + if (!rev.diffopt.stat_width)
> + rev.diffopt.stat_width = 70;
> + }
Hmm, so if I say:
git format-patch --stat --patch
I'd get the larger default? That seems kind of funny. Should this
stat_width setting be outside of this conditional (and if the user
asks for a non-stat format, it would just be ignored)?
-Peff
PS I had a funny feeling that this had come up before not due to
quoting, but just due to people with enormous terminals generating
too-long lines. But I couldn't find any discussion, and my
(admittedly brief) reading of the code is that we'd actually respect
the terminal size by default.
While digging, I did find this discussion, though:
https://public-inbox.org/git/20080403102214.GA23121@coredump.intra.peff.net/
next prev parent reply other threads:[~2018-01-22 23:52 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-22 12:31 [PATCH] format-patch: set diffstat width to 70 instead of default 80 Nguyễn Thái Ngọc Duy
2018-01-22 23:13 ` Junio C Hamano
2018-01-22 23:52 ` Jeff King [this message]
2018-01-23 0:10 ` Ævar Arnfjörð Bjarmason
2018-01-23 0:12 ` Jeff King
2018-01-23 2:42 ` Duy Nguyen
2018-01-23 0:08 ` Ævar Arnfjörð Bjarmason
2018-01-25 11:59 ` [PATCH v2 0/2] wrap format-patch diffstats around 72 columns Nguyễn Thái Ngọc Duy
2018-01-25 11:59 ` [PATCH v2 1/2] format-patch: keep cover-letter diffstat wrapped in " Nguyễn Thái Ngọc Duy
2018-01-25 11:59 ` [PATCH v2 2/2] format-patch: reduce patch diffstat width to 72 Nguyễn Thái Ngọc Duy
2018-01-27 16:47 ` Jeff King
2018-01-30 10:22 ` Duy Nguyen
2018-01-27 16:48 ` [PATCH v2 0/2] wrap format-patch diffstats around 72 columns Jeff King
2018-02-01 12:47 ` [PATCH v3 " Nguyễn Thái Ngọc Duy
2018-02-01 12:47 ` [PATCH v3 1/2] format-patch: keep cover-letter diffstat wrapped in " Nguyễn Thái Ngọc Duy
2018-02-01 12:47 ` [PATCH v3 2/2] format-patch: reduce patch diffstat width to 72 Nguyễn Thái Ngọc Duy
2018-02-02 18:42 ` [PATCH v3 0/2] wrap format-patch diffstats around 72 columns 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=20180122235202.GA26357@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=pclouds@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).