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

Re: [PATCH] git-completion: add stashes for gitk

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 12, 2015, 18:11 UTC
Message-ID
<xmqq1tku3x3c.fsf@gitster.dls.corp.google.com>
In-Reply-To
<1426120961-2273-1-git-send-email-sveinung84@users.sourceforge.net>
Sveinung Kvilhaugsvik <sveinung84@users.sourceforge.net> writes:
Show 18 quoted lines
> Auto complete stashed modifications for gitk. This makes them easier to
> discover and faster to view.
>
> Signed-off-by: Sveinung Kvilhaugsvik <sveinung84@users.sourceforge.net>
> ---
>  contrib/completion/git-completion.bash | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index c21190d..3a23abb 100644
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -2644,6 +2644,8 @@ __gitk_main ()
>  		;;
>  	esac
>  	__git_complete_revlist
> +	__gitcomp_nl_append "$(git --git-dir="$(__gitdir)" stash list \
> +			| sed -n -e 's/:.*//p')"

I do not find it particularly useful to expand "gitk st<TAB>" to "gitk st" and offer "sting stash@{0} stash@{1} stash@{2} stash@{3}" ('sting' happens to be just one of the names of my branches) as possible choices.

Because I happen to have only four stash entries right now, it may still be manageable, but the stash entries can be dozens for some people.

Once you have dozens of branches and tags, you learn to avoid "gitk <TAB>" (or "git log <TAB>") to prevent the completion code from dumping all these refnames at you. Instead, you would give a few characters before hitting the <TAB> to limit the completion. But this change makes it harder if what you want happens to start with es-tee something, as you would get many stash@{...} entries along with it. Also, when you have no ref that is named es-tee something, "gitk st<TAB>" completes to "gitk stash@{", as if the problem the change tries to cure is "it is unnecessarily hard to type at-mark open-brace".

I do not have to be the target audience, though. Maybe this is useful for some people.

A bigger question is why this change is made to gitk completion. If this completion were useful for "gitk", wouoldn't it be equally useful for "git log"?

Thanks.
Previous: Sveinung KvilhaugsvikNext: Junio C Hamano
Message 2 of 5 in “git-completion: add stashes for gitk”
  1. git-completion: add stashes for gitkSveinung Kvilhaugsvik, Mar 12, 2015
  2. Junio C HamanoMar 12, 2015
  3. Junio C HamanoMar 12, 2015
  4. Sveinung KvilhaugsvikMar 13, 2015
  5. Junio C HamanoMar 14, 2015

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.