threads / patch / 23044

patchbash: complete *_HEAD refs if present

Subject: [PATCH] bash: complete *_HEAD refs if present

## tl;dr

2 messages between Mar 17, 2010 and Mar 17, 2010. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Ian Ward Comfort· Mar 17, 2010, 09:20 UTC · lore

We already complete HEAD, of course, and might as well complete the other common refs mentioned in the rev-parse man page: FETCH_HEAD, ORIG_HEAD, and MERGE_HEAD.

Signed-off-by: Ian Ward Comfort <icomfort@stanford.edu>
---
 contrib/completion/git-completion.bash |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
Show changes to contrib/completion/git-completion.bash +3 −1
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index fe93747..733ac39 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -250,7 +250,9 @@ __git_refs ()
 			refs="${cur%/*}"
 			;;
 		*)
-			if [ -e "$dir/HEAD" ]; then echo HEAD; fi
+			for i in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD; do
+				if [ -e "$dir/$i" ]; then echo $i; fi
+			done
 			format="refname:short"
 			refs="refs/tags refs/heads refs/remotes"
 			;;
-- 
1.7.0.2
Shawn O. Pearce· Mar 17, 2010, 15:40 UTC · re: Ian Ward Comfort · lore

Re: [PATCH] bash: complete *_HEAD refs if present

Ian Ward Comfort <icomfort@stanford.edu> wrote:
> We already complete HEAD, of course, and might as well complete the other
> common refs mentioned in the rev-parse man page: FETCH_HEAD, ORIG_HEAD, and
> MERGE_HEAD.
Acked-by: Shawn O. Pearce <spearce@spearce.org>
 
Show 20 quoted lines
> Signed-off-by: Ian Ward Comfort <icomfort@stanford.edu>
> ---
>  contrib/completion/git-completion.bash |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index fe93747..733ac39 100755
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -250,7 +250,9 @@ __git_refs ()
>  			refs="${cur%/*}"
>  			;;
>  		*)
> -			if [ -e "$dir/HEAD" ]; then echo HEAD; fi
> +			for i in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD; do
> +				if [ -e "$dir/$i" ]; then echo $i; fi
> +			done
>  			format="refname:short"
>  			refs="refs/tags refs/heads refs/remotes"
>  			;;
-- 
Shawn.

← back to recent threads