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

Re: [PATCH] bash: complete full refs

From
Shawn O. Pearce <spearce@spearce.org>
Date
Nov 27, 2008, 21:29 UTC
Message-ID
<20081127212938.GB23984@spearce.org>
In-Reply-To
<1227792947-4055-1-git-send-email-szeder@ira.uka.de>
SZEDER GGGbor <szeder@ira.uka.de> wrote:
> Sometimes it's handy to complete full refs, [...]
> 
> To do that, we check whether the ref to be completed starts with
> 'refs'.
...
Show 17 quoted lines
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index 0ee071b..39bf18b 100755
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -188,11 +188,22 @@ __git_tags ()
>  
>  __git_refs ()
>  {
> -	local cmd i is_hash=y dir="$(__gitdir "$1")"
> +	local i is_hash=y dir="$(__gitdir "$1")"
> +	local cur="${COMP_WORDS[COMP_CWORD]}" format refs
>  	if [ -d "$dir" ]; then
> -		if [ -e "$dir/HEAD" ]; then echo HEAD; fi
> -		git --git-dir="$dir" for-each-ref --format='%(refname:short)' \
> -			refs/tags refs/heads refs/remotes
> +		case "$cur" in
> +		refs*)
I wonder if the pattern shouldn't be:
	refs|refs/*)

to reduce the risk of matching "refs-" and trying to do a full ref match instead of a short ref match.

Otherwise,
Acked-by: Shawn O. Pearce <spearce@spearce.org>
-- 
Shawn.
Previous: SZEDER GáborNext: SZEDER Gábor
Message 2 of 4 in “bash: complete full refs”
  1. bash: complete full refsSZEDER Gábor, Nov 27, 2008
  2. Shawn O. PearceNov 27, 2008
  3. bash: complete full refsSZEDER Gábor, Nov 28, 2008
  4. Shawn O. PearceNov 28, 2008

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.