Re: [PATCH v2 1/2] range-diff: reorder options lexicographically
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 28, 2025, 15:21 UTC
- Message-ID
- <xmqqa53jxyiz.fsf@gitster.g>
- In-Reply-To
- <ec5dcdf9d00473417b1f0b676a485f01076ce075.1756370289.git.gitgitgadget@gmail.com>
"pcasaretto via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 10 quoted lines
> From: pcasaretto <paulo.casaretto@shopify.com> > > Reorder the command-line options in builtin/range-diff.c to be in > lexicographic order for better organization and readability. This is > a preparatory cleanup with no functional changes. > > Signed-off-by: Paulo Casaretto <paulo.casaretto@shopify.com> > --- > builtin/range-diff.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-)
Thanks for splitting this out into its own commit.
I am not sure if "lexicographic order" fits well in the context of "git cmd -h" that spews out many many options, shown with related options together in groups. I find it aggressively annoying to show left/right-only far apart. A user unfamiliar with the command would look at the list, find "left-only" sitting in the list alone, and waste time and break concentration wondering what in the first range is so special to deserve such an option, until they see "right-only" further down to realize that they are symmetric.
I'd rather not to see this "lexicographic" change done, but others may have better justification (note: "for better organization and readability" I just disagreed is a good justification) that may make me change my mind.
What I would change, if there is something suboptimal in the current output from "git range-diff -h" that deserves improvement, is the lack of the grouping header before the options for range-diff operation (i.e. creation-factor to left/right-only, before the next "diff output" group begins).
Thanks.
Show 26 quoted lines
> diff --git a/builtin/range-diff.c b/builtin/range-diff.c
> index a563abff5fee..283583a80d0b 100644
> --- a/builtin/range-diff.c
> +++ b/builtin/range-diff.c
> @@ -33,17 +33,17 @@ int cmd_range_diff(int argc,
> OPT_INTEGER(0, "creation-factor",
> &range_diff_opts.creation_factor,
> N_("percentage by which creation is weighted")),
> + OPT_PASSTHRU_ARGV(0, "diff-merges", &diff_merges_arg,
> + N_("style"), N_("passed to 'git log'"), 0),
> + OPT_BOOL(0, "left-only", &left_only,
> + N_("only emit output related to the first range")),
> OPT_BOOL(0, "no-dual-color", &simple_color,
> N_("use simple diff colors")),
> OPT_PASSTHRU_ARGV(0, "notes", &other_arg,
> N_("notes"), N_("passed to 'git log'"),
> PARSE_OPT_OPTARG),
> - OPT_PASSTHRU_ARGV(0, "diff-merges", &diff_merges_arg,
> - N_("style"), N_("passed to 'git log'"), 0),
> OPT_PASSTHRU_ARGV(0, "remerge-diff", &diff_merges_arg, NULL,
> N_("passed to 'git log'"), PARSE_OPT_NOARG),
> - OPT_BOOL(0, "left-only", &left_only,
> - N_("only emit output related to the first range")),
> OPT_BOOL(0, "right-only", &right_only,
> N_("only emit output related to the second range")),
> OPT_END()