git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] completion: clarify support for short options and arguments

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 7, 2025, 05:38 UTC
Message-ID
<xmqqbjkan962.fsf@gitster.g>
In-Reply-To
<xmqqzf7vm7b7.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
Show 11 quoted lines
> The list of supported completions in the header of the file was
> mostly written a long time ago when Shawn added the initial version
> of this script in 2006.  The list explicitly states that we complete
> "common --long-options", which implies that we do not complete
> not-so-common ones and single letter options (this text dates back
> to May 2007).
>
> Update the description to explicitly state that single-letter
> options are not completed.  Also, document that arguments to options
> are completed, even for single-letter options (e.g., "git -c <TAB>"
> offers configuration variables).

I appended the following to the end of the proposed commit log message:

  The reason why we do not complete single-letter options is because
  it does not seem to help all that much to learn that the command
  takes -c, -d, -e options when "git foo -<TAB>" offers these three,
  unlike long options that is easier to guess what they are about.
  Because this rationale is primarily for our developers, let's leave
  it out of the completion script itself, whose messages are entirely
  for end-users.  Our developers can run "git blame" to find this
  commit as needed.
Previous: Junio C Hamano
Message 2 of 2 in “completion: clarify support for short options and arguments”
  1. completion: clarify support for short options and argumentsJunio C Hamano, Dec 7, 2025
  2. Junio C HamanoDec 7, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.