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.