git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "René Scharfe" <l.s.r@web.de>
To: phillip.wood@dunelm.org.uk, Junio C Hamano <gitster@pobox.com>
Cc: Git List <git@vger.kernel.org>
Subject: Re: [PATCH] ls-tree: fix --no-full-name
Date: Sat, 5 Aug 2023 12:40:28 +0200	[thread overview]
Message-ID: <67e28f23-abd7-01d2-a1a7-18befc86a21e@web.de> (raw)
In-Reply-To: <a9d51bb4-2897-c4ca-f8b3-85f50902b041@gmail.com>

Am 04.08.23 um 21:48 schrieb Phillip Wood:
> On 04/08/2023 17:40, Junio C Hamano wrote:
>> Junio C Hamano <gitster@pobox.com> writes:
>>
>>> René Scharfe <l.s.r@web.de> writes:
>>>
>>>> A bit more verbose still: Document the negative form on its own line
>>>> with a generated description -- requires no new syntax:
>>>>
>>>>      -v, --invert-match         show non-matching lines
>>>>      --no-invert-match          opposite of --invert-match, default
>>>>      -I, --no-index             find in contents not managed by git
>>>>      --index                    opposite of --no-index, default
>>>
>>> I would expect _("opposite of %s, default") is acceptable by l10n
>>> folks, and assuming it is, the above would be a good approach.

The ", default" part is not correct in all cases, though, in particular
when the default depends on the output being a terminal, or arguably
when it's dependent on a config setting.  We better drop it from the
generated message.

>> I was seeing what is likely to be in the -rc1 that will happen in
>> next week, and noticed that this discussion is left unconcluded.  I
>> am tempted to declare that the latest iteration that shows the
>> negation of "--no-foo" as "--[no-]no-foo" is "good enough" for now,
>> and leave the above improvement as one potential future direction.
>
> While it could certainly be improved in the future I think
> "--[no-]no-foo" is probably good enough. I definitely prefer it over
> "--[[no-]no]-foo"

Generating help lines for the opposite variant of all negatable options
feels quite spammy.  It almost doubles the length of the short help
because we have so many of them.  Doing that only for --no-... options
is much more compatc because most options are positive:

    -v, --[no-]invert-match    show non-matching lines
    -I, --no-index             find in contents not managed by git
    --index                    opposite of --no-index

>> Objections?  Otherwise the 5-patch series will be in 'next'.

Patch 5 has a trivial merge conflict in t/t0040-parse-options.sh due to
448abbba63 (short help: allow multi-line opthelp, 2023-07-18), which is
easily resolved by adding --longhelp, and a silent automatic mismerge of
t/t1502/optionspec.help due to c512643e67 (short help: allow a gap
smaller than USAGE_GAP, 2023-07-18), which requires removing three line
newlines.

How about dropping patch 5 for now?  We don't need to rush this pretty
intrusive change of output.  And the first four patches are worthwhile
in their own right, I think.

René

  reply	other threads:[~2023-08-05 10:40 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-18 15:44 [PATCH] ls-tree: fix --no-full-name René Scharfe
2023-07-18 16:37 ` Junio C Hamano
2023-07-18 20:49   ` Junio C Hamano
2023-07-21 12:41     ` René Scharfe
2023-07-21 12:41   ` René Scharfe
2023-07-21 14:37     ` Junio C Hamano
2023-07-21 19:29       ` René Scharfe
2023-07-21 20:09         ` Junio C Hamano
2023-07-21 20:14           ` Junio C Hamano
2023-07-24 12:29           ` René Scharfe
2023-07-24 18:51             ` Junio C Hamano
2023-07-24 20:09               ` René Scharfe
2023-07-24 20:50                 ` Junio C Hamano
2023-07-28  6:12                   ` René Scharfe
2023-07-28  9:45                     ` Phillip Wood
2023-07-29 20:40                       ` René Scharfe
2023-07-31 15:31                         ` Junio C Hamano
2023-08-04 16:40                           ` Junio C Hamano
2023-08-04 19:48                             ` Phillip Wood
2023-08-05 10:40                               ` René Scharfe [this message]
2023-07-24 12:29           ` [PATCH v2 0/5] show negatability of options in short help René Scharfe
2023-07-24 12:34             ` [PATCH v2 1/5] subtree: disallow --no-{help,quiet,debug,branch,message} René Scharfe
2023-07-24 12:36             ` [PATCH v2 2/5] t1502, docs: disallow --no-help René Scharfe
2023-07-24 12:38             ` [PATCH v2 3/5] t1502: move optionspec help output to a file René Scharfe
2023-07-24 12:39             ` [PATCH v2 4/5] t1502: test option negation René Scharfe
2023-07-24 12:40             ` [PATCH v2 5/5] parse-options: show negatability of options in short help René Scharfe
2023-08-05 14:33           ` [PATCH v3 0/8] " René Scharfe
2023-08-05 14:37             ` [PATCH v3 1/8] subtree: disallow --no-{help,quiet,debug,branch,message} René Scharfe
2023-08-05 14:37             ` [PATCH v3 2/8] t1502, docs: disallow --no-help René Scharfe
2023-08-05 14:38             ` [PATCH v3 3/8] t1502: move optionspec help output to a file René Scharfe
2023-08-05 14:39             ` [PATCH v3 4/8] t1502: test option negation René Scharfe
2023-08-05 14:40             ` [PATCH v3 5/8] parse-options: show negatability of options in short help René Scharfe
2023-08-05 14:43             ` [PATCH v3 6/8] parse-options: factor out usage_indent() and usage_padding() René Scharfe
2023-08-05 14:44             ` [PATCH v3 7/8] parse-options: no --[no-]no- René Scharfe
2023-08-05 14:52             ` [PATCH v3 8/8] parse-options: simplify usage_padding() René Scharfe
2023-08-05 23:04               ` Junio C Hamano
2023-07-21 12:41   ` [PATCH] show-branch: fix --no-sparse René Scharfe
2023-07-21 14:42     ` Junio C Hamano
2023-07-21 16:30       ` René Scharfe
2023-07-21 12:41   ` [PATCH] show-branch: disallow --no-{date,topo}-order René Scharfe
2023-07-21 12:41   ` [PATCH] reset: disallow --no-{mixed,soft,hard,merge,keep} René Scharfe
2023-07-21 12:41   ` [PATCH] pack-objects: fix --no-quiet René Scharfe
2023-07-21 12:41   ` [PATCH] pack-objects: fix --no-keep-true-parents René Scharfe
2023-07-21 17:03     ` Junio C Hamano
2023-07-21 12:42   ` [PATCH] branch: disallow --no-{all,remotes} René Scharfe
2023-07-21 12:42   ` [PATCH] am: unify definition of --keep-cr and --no-keep-cr René Scharfe
2023-07-21 13:41   ` [PATCH] describe: fix --no-exact-match René Scharfe
2023-07-21 14:10     ` Junio C Hamano
2023-07-21 17:00     ` Junio C Hamano
2023-08-08 21:27     ` Jeff King
2023-08-08 21:28       ` Jeff King
2023-08-09  1:43       ` Junio C Hamano
2023-08-09 14:09         ` Jeff King
2023-08-09 16:41           ` René Scharfe
2023-08-09 19:07             ` Junio C Hamano
2023-08-10  0:26               ` Jeff King
2023-08-10  1:00                 ` Junio C Hamano
2023-08-10 19:45                   ` René Scharfe
2023-08-10  0:41             ` Jeff King
2023-08-10 19:10               ` René Scharfe
2023-08-11 15:11                 ` Jeff King
2023-08-11 17:59                   ` René Scharfe
2023-08-11 18:24                     ` Jeff King
2023-08-12  5:11                       ` René Scharfe
2023-08-11 15:13                 ` Jeff King
2023-08-11 17:59                   ` René Scharfe

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=67e28f23-abd7-01d2-a1a7-18befc86a21e@web.de \
    --to=l.s.r@web.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=phillip.wood@dunelm.org.uk \
    /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).