git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Thiago Perrotta <tbperrotta@gmail.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: Carlo Arenas <carenas@gmail.com>,
	gitster@pobox.com, bagasdotme@gmail.com, git@vger.kernel.org
Subject: Re: [PATCH v5 0/3] send-email: shell completion improvements
Date: Wed, 29 Sep 2021 23:10:23 -0400	[thread overview]
Message-ID: <CABOtWuqXS_kJk2md=kgg-ReaWtKermpUW_Dk_bc0pMXQL+xMeA@mail.gmail.com> (raw)
In-Reply-To: <87bl4h3fgv.fsf@evledraar.gmail.com>

On Fri, 24 Sept 2021 at 16:07, Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:

> I meant something like the below patch, feel free to incorporate it if
> you'd like with my signed-off-by, i.e. there's no reason to parse the
> usage message, or hardcode another set of options, we've got it right
> there as structured program data being fed to the GetOptions() function.
>
> All we need to do is to assign that to a hash, and use it both for
> emitting the help and to call GetOptions().
>
> What I have doesn't *quite* work, i.e. the --git-completion-helper
> expects "--foo=" I think for things that are "foo=s" in perl, so the
> regex needs adjusting, but that should be an easy addition on top.

1)
Thanks Ævar, I get the gist of it. Your approach revealed a few issues
with the current usage string:

The following options exist in GetOptions but not in the usage string:

--git-completion-helper
--no-signed-off-cc
--sender
--signed-off-cc

Out of these, I'd argue --git-completion-helper is intentionally omitted,
however --sender and --signed-off-cc were overlooked.

2)
Also, your patch misses --dump-aliases and --identity; that's because
they are in other GetOptions functions in the file.

The two obvious possibilities here are either (i) hard-code them directly, i.e.:

-my @options = sort @gse_options, @fpa_options;
+my @options = sort @gse_options, @fpa_options, "--dump-aliases", "--sender";

or (ii) refactor the other two GetOptions like you did in your patch,
so that `sub completion_helper` ends up receiving all three hashes
(or maybe a single hash as a result of all three merged).

Any preference between (i) or (ii)? I am leaning towards (i).

3)
Finally, I noticed that "sort @gse_options, @fpa_options" doesn't
really sort fpa_options.

If sorting is really intended, it would be better to modify the source
of format-patch to
emit sorted output.

Otherwise, we may as well leave it untouched. AFAIK from a completion
perspective it
seems that it doesn't matter: both bash and zsh emit `git format-patch
--<TAB>` sorted
today, even though the output of `git format-patch
--git-completion-helper` isn't sorted.
The only benefit of sorting I see would be to deduplicate ('uniq') flags.

Do you agree with this rationale?
Either way, let me know whether or not it's preferable to sort.
I'll probably sort `send-email` options anyway just to deduplicate a
few flags such as --to-cover,
but `format-patch` could remain as is.


I'll wait for replies before sending another patch (on top of your
original one).

  reply	other threads:[~2021-09-30  3:10 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-20  0:46 [PATCH v2 0/3] send-email: shell completion improvements Thiago Perrotta
2021-08-20  0:46 ` [PATCH v2 1/3] send-email: print newline for --git-completion-helper Thiago Perrotta
2021-08-20 20:17   ` Junio C Hamano
2021-08-28  3:08     ` [PATCH v3 0/3] send-email: shell completion improvements Thiago Perrotta
2021-08-28  3:08     ` [PATCH v3 1/3] send-email: terminate --git-completion-helper with LF Thiago Perrotta
2021-08-28  3:08     ` [PATCH v3 2/3] send-email: move bash completions to core script Thiago Perrotta
2021-08-28  5:25       ` Carlo Arenas
2021-09-07  0:16         ` [PATCH] " Thiago Perrotta
2021-09-07  1:28           ` Carlo Arenas
2021-09-21 15:51             ` [PATCH v4 0/3] send-email: shell completion improvements Thiago Perrotta
2021-09-21 15:51               ` [PATCH v4 1/3] send-email: terminate --git-completion-helper with LF Thiago Perrotta
2021-09-21 15:51               ` [PATCH v4 2/3] send-email: move bash completions to core script Thiago Perrotta
2021-09-21 15:51               ` [PATCH v4 3/3] send-email docs: add format-patch options Thiago Perrotta
2021-09-23 14:02               ` [PATCH v4 0/3] send-email: shell completion improvements Ævar Arnfjörð Bjarmason
2021-09-24  2:46                 ` [PATCH v5 " Thiago Perrotta
2021-09-24 20:02                   ` Ævar Arnfjörð Bjarmason
2021-09-30  3:10                     ` Thiago Perrotta [this message]
2021-10-07  3:36                       ` [PATCH v6 " Thiago Perrotta
2021-10-07  3:36                       ` [PATCH v6 1/3] send-email: terminate --git-completion-helper with LF Thiago Perrotta
2021-10-07  3:36                       ` [PATCH v6 2/3] send-email: programmatically generate bash completions Thiago Perrotta
2021-10-09  6:38                         ` Carlo Marcelo Arenas Belón
2021-10-11  4:10                           ` [PATCH v7 0/3] send-email: shell completion improvements Thiago Perrotta
2021-10-11 13:46                             ` Ævar Arnfjörð Bjarmason
2021-10-11 17:12                               ` [DRAFT/WIP PATCH] send-email: programmatically generate bash completions Thiago Perrotta
2021-10-25 21:27                               ` [PATCH v8 0/2] send-email: shell completion improvements Thiago Perrotta
2021-10-25 22:44                                 ` Ævar Arnfjörð Bjarmason
2021-10-26  0:48                                   ` Ævar Arnfjörð Bjarmason
2021-10-28 16:31                                     ` Junio C Hamano
2021-10-25 21:27                               ` [PATCH v8 1/2] send-email: programmatically generate bash completions Thiago Perrotta
2021-10-25 21:27                               ` [PATCH v8 2/2] send-email docs: add format-patch options Thiago Perrotta
2021-10-11  4:10                           ` [PATCH v7 1/3] send-email: terminate --git-completion-helper with LF Thiago Perrotta
2021-10-11  4:10                           ` [PATCH v7 2/3] send-email: programmatically generate bash completions Thiago Perrotta
2021-10-11  4:10                           ` [PATCH v7 3/3] send-email docs: add format-patch options Thiago Perrotta
2021-10-07  3:36                       ` [PATCH v6 " Thiago Perrotta
2021-10-09  8:31                         ` [RFC PATCH] Documentation: better document format-patch options in send-email Carlo Marcelo Arenas Belón
2021-10-09  8:57                           ` Bagas Sanjaya
2021-10-09  9:32                             ` Carlo Arenas
2021-10-09 11:04                               ` Bagas Sanjaya
2021-10-10 21:33                               ` Junio C Hamano
2021-09-24  2:46                 ` [PATCH v5 1/3] send-email: terminate --git-completion-helper with LF Thiago Perrotta
2021-09-24  2:46                 ` [PATCH v5 2/3] send-email: programmatically generate bash completions Thiago Perrotta
2021-09-24  2:46                 ` [PATCH v5 3/3] send-email docs: add format-patch options Thiago Perrotta
2021-09-24  4:36                   ` Bagas Sanjaya
2021-09-24  4:53                     ` Carlo Arenas
2021-09-24  6:19                       ` Bagas Sanjaya
2021-09-24  6:56                         ` Carlo Arenas
2021-09-24 15:33                       ` Junio C Hamano
2021-09-24 17:34                         ` Carlo Arenas
2021-09-24 20:03                           ` Junio C Hamano
2021-09-25  3:03                             ` Bagas Sanjaya
2021-09-25  4:07                               ` Junio C Hamano
2021-09-25  6:13                                 ` Carlo Marcelo Arenas Belón
2021-09-29 21:20                                   ` Junio C Hamano
2021-08-28  3:08     ` [PATCH v3 " Thiago Perrotta
2021-08-28  5:22       ` Bagas Sanjaya
2021-08-20  0:46 ` [PATCH v2 2/3] send-email: move bash completions to the perl script Thiago Perrotta
2021-08-20  0:46 ` [PATCH v2 3/3] send-email docs: mention format-patch options Thiago Perrotta
2021-08-20 20:32   ` 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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CABOtWuqXS_kJk2md=kgg-ReaWtKermpUW_Dk_bc0pMXQL+xMeA@mail.gmail.com' \
    --to=tbperrotta@gmail.com \
    --cc=avarab@gmail.com \
    --cc=bagasdotme@gmail.com \
    --cc=carenas@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).