git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/6] completion: improvements for git-bisect
@ 2024-01-02 19:57 Britton Leo Kerin
  2024-01-10  2:03 ` [PATCH v2 0/5] " Britton Leo Kerin
       [not found] ` <20240110020347.673155-1-britton.kerin@gmail.com>
  0 siblings, 2 replies; 58+ messages in thread
From: Britton Leo Kerin @ 2024-01-02 19:57 UTC (permalink / raw)
  To: git; +Cc: Britton Leo Kerin

Bring completion for bisect up to date with current features.

This is RFC mainly because of an implementation issue in patch 2: I think
the mechanism of requiring COMPREPLY to be empty, possibly writing into it,
then checking it post-call is too fragile, but I'm not sure how people would
like to fix this.  I'd prefer to just add an assert() of some sort to enforce
the empty-COMPREPLY precondition, rather than rewrite the guts of the former
_git_log() function to use some other intermediate return mechanism (this
would be overkill in this simple context IMO).  But I'm not sure how to
do that in a completion context: for sure nothing that is done here should
ever have a chance of showing garbage on a user's screen, but of course for
assert() to be useful a dev would need to see it somehow.  Suggestions welcome.

Other than that issue I think it's all reasonable and ready, though there
are a couple other decisions that I guess people might disagree with:

  * good/old/new/bad terms are always completed (even if they're
    invalild because --term-(good|bad) have been used).  The idea here
    is that if the user has become confused about their own terms it's
    better to let git give them an error message than to have
    normally-working completion not happen.

  * 'view' is recognized as a subcommand, but not as a completion
    candidate.  This lets complete of git bisect v<TAB> keep working which
    seems convenient and some poor person somewhere probably really wants :)
    view is just an alias so loss of interface recall is minimal.

Britton Leo Kerin (6):
  completion: complete new old actions, start opts
  completion: git-log opts to bisect visualize
  completion: move to maintain define-before-use
  completion: custom git-bisect terms
  completion: recognize but do not complete 'view'
  completion: add comment

 contrib/completion/git-completion.bash | 310 +++++++++++++++----------
 1 file changed, 181 insertions(+), 129 deletions(-)


base-commit: e79552d19784ee7f4bbce278fe25f93fbda196fa
--
2.43.0



^ permalink raw reply	[flat|nested] 58+ messages in thread

end of thread, other threads:[~2024-02-07  5:26 UTC | newest]

Thread overview: 58+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-02 19:57 [RFC PATCH 0/6] completion: improvements for git-bisect Britton Leo Kerin
2024-01-10  2:03 ` [PATCH v2 0/5] " Britton Leo Kerin
2024-01-18 20:43   ` [PATCH v3 " Britton Leo Kerin
2024-01-18 20:43     ` [PATCH v3 1/5] completion: complete new old actions, start opts Britton Leo Kerin
2024-01-19  7:04       ` Patrick Steinhardt
2024-01-18 20:43     ` [PATCH v3 2/5] completion: git-log opts to bisect visualize Britton Leo Kerin
2024-01-19  7:04       ` Patrick Steinhardt
2024-01-18 20:43     ` [PATCH v3 3/5] completion: move to maintain define-before-use Britton Leo Kerin
2024-01-19  7:04       ` Patrick Steinhardt
2024-01-18 20:43     ` [PATCH v3 4/5] completion: custom git-bisect terms Britton Leo Kerin
2024-01-19  7:04       ` Patrick Steinhardt
2024-01-18 20:43     ` [PATCH v3 5/5] completion: git-bisect view recognized but not completed Britton Leo Kerin
2024-01-19  7:05       ` Patrick Steinhardt
2024-01-19  7:05     ` [PATCH v3 0/5] completion: improvements for git-bisect Patrick Steinhardt
2024-01-19 18:27       ` Junio C Hamano
2024-01-26  0:23       ` Britton Kerin
2024-01-28 22:34     ` [PATCH v4 0/8] " Britton Leo Kerin
2024-01-28 22:34       ` [PATCH v4 1/8] completion: bisect: complete bad, new, old, and help subcommands Britton Leo Kerin
2024-02-01  9:55         ` Patrick Steinhardt
2024-01-28 22:34       ` [PATCH v4 2/8] completion: bisect: complete custom terms and related options Britton Leo Kerin
2024-02-01  9:55         ` Patrick Steinhardt
2024-01-28 22:34       ` [PATCH v4 3/8] completion: bisect: complete missing --first-parent and --no-checkout options Britton Leo Kerin
2024-01-28 22:34       ` [PATCH v4 4/8] completion: new function __git_complete_log_opts Britton Leo Kerin
2024-01-28 22:34       ` [PATCH v4 5/8] completion: log: use __git_complete_log_opts Britton Leo Kerin
2024-02-01  9:55         ` Patrick Steinhardt
2024-01-28 22:34       ` [PATCH v4 6/8] completion: bisect: complete log opts for visualize subcommand Britton Leo Kerin
2024-01-28 22:34       ` [PATCH v4 7/8] completion: bisect: recognize but do not complete view subcommand Britton Leo Kerin
2024-01-28 22:34       ` [PATCH v4 8/8] completion: add tests for git-bisect Britton Leo Kerin
2024-01-30  5:47         ` Junio C Hamano
2024-02-01  9:55         ` Patrick Steinhardt
2024-02-01  9:55       ` [PATCH v4 0/8] completion: improvements " Patrick Steinhardt
2024-02-06  2:09       ` [PATCH v5 0/7] " Britton Leo Kerin
2024-02-06  2:09         ` [PATCH v5 1/7] completion: tests: always use 'master' for default initial branch name Britton Leo Kerin
2024-02-06  2:09         ` [PATCH v5 2/7] completion: bisect: complete bad, new, old, and help subcommands Britton Leo Kerin
2024-02-06  7:40           ` Patrick Steinhardt
2024-02-06  2:09         ` [PATCH v5 3/7] completion: bisect: complete custom terms and related options Britton Leo Kerin
2024-02-06  7:40           ` Patrick Steinhardt
2024-02-06  2:09         ` [PATCH v5 4/7] completion: bisect: complete missing --first-parent and --no-checkout options Britton Leo Kerin
2024-02-06  2:09         ` [PATCH v5 5/7] completion: new function __git_complete_log_opts Britton Leo Kerin
2024-02-06  7:40           ` Patrick Steinhardt
2024-02-06  2:09         ` [PATCH v5 6/7] completion: bisect: complete log opts for visualize subcommand Britton Leo Kerin
2024-02-06  2:09         ` [PATCH v5 7/7] completion: bisect: recognize but do not complete view subcommand Britton Leo Kerin
2024-02-06  7:40         ` [PATCH v5 0/7] completion: improvements for git-bisect Patrick Steinhardt
2024-02-06 21:50         ` [PATCH v6 " Britton Leo Kerin
2024-02-06 21:50           ` [PATCH v6 1/7] completion: tests: always use 'master' for default initial branch name Britton Leo Kerin
2024-02-06 21:50           ` [PATCH v6 2/7] completion: bisect: complete bad, new, old, and help subcommands Britton Leo Kerin
2024-02-06 21:50           ` [PATCH v6 3/7] completion: bisect: complete custom terms and related options Britton Leo Kerin
2024-02-06 21:50           ` [PATCH v6 4/7] completion: bisect: complete missing --first-parent and --no-checkout options Britton Leo Kerin
2024-02-06 21:50           ` [PATCH v6 5/7] completion: new function __git_complete_log_opts Britton Leo Kerin
2024-02-06 21:50           ` [PATCH v6 6/7] completion: bisect: complete log opts for visualize subcommand Britton Leo Kerin
2024-02-06 21:50           ` [PATCH v6 7/7] completion: bisect: recognize but do not complete view subcommand Britton Leo Kerin
2024-02-06 22:58           ` [PATCH v6 0/7] completion: improvements for git-bisect Junio C Hamano
2024-02-07  5:26             ` Patrick Steinhardt
     [not found] ` <20240110020347.673155-1-britton.kerin@gmail.com>
2024-01-10  2:03   ` [PATCH v2 1/5] completion: complete new old actions, start opts Britton Leo Kerin
2024-01-10  2:03   ` [PATCH v2 2/5] completion: git-log opts to bisect visualize Britton Leo Kerin
2024-01-10  2:03   ` [PATCH v2 3/5] completion: move to maintain define-before-use Britton Leo Kerin
2024-01-10  2:03   ` [PATCH v2 4/5] completion: custom git-bisect terms Britton Leo Kerin
2024-01-10  2:03   ` [PATCH v2 5/5] " Britton Leo Kerin

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).