# [PATCH] bash completion: complete CHERRY_PICK_HEAD

2 messages from 2021-04-07 to 2021-04-07. Participants: Ævar Arnfjörð Bjarmason, Junio C Hamano.
Thread: https://gitlist.dev/t/55443

## Ævar Arnfjörð Bjarmason, 2021-04-07 10:50

Subject: [PATCH] bash completion: complete CHERRY_PICK_HEAD
Message-ID: <patch-1.1-483669af7fc-20210407T105035Z-avarab@gmail.com>
URL: https://gitlist.dev/e/patch-1.1-483669af7fc-20210407T105035Z-avarab%40gmail.com

```
When e.g. in a failed cherry pick we did not recognize
CHERRY_PICK_HEAD as we do e.g. REBASE_HEAD in a failed rebase let's
rectify that.

When REBASE_HEAD was added in fbd7a232370 (rebase: introduce and use
pseudo-ref REBASE_HEAD, 2018-02-11) a completion was added for it, but
no corresponding completion existed for CHERRY_PICK_HEAD added in
d7e5c0cbfb0 (Introduce CHERRY_PICK_HEAD, 2011-02-19).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index e1a66954fe8..dbb290956b6 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -744,7 +744,7 @@ __git_refs ()
 			track=""
 			;;
 		*)
-			for i in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD REBASE_HEAD; do
+			for i in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD REBASE_HEAD CHERRY_PICK_HEAD; do
 				case "$i" in
 				$match*)
 					if [ -e "$dir/$i" ]; then
-- 
2.31.1.527.g9b8f7de2547


```

## Junio C Hamano, 2021-04-07 22:21

Subject: Re: [PATCH] bash completion: complete CHERRY_PICK_HEAD
Message-ID: <xmqq35w1ybvu.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqq35w1ybvu.fsf%40gitster.g
In-Reply-To: <patch-1.1-483669af7fc-20210407T105035Z-avarab@gmail.com>

```
Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:

> -			for i in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD REBASE_HEAD; do
> +			for i in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD REBASE_HEAD CHERRY_PICK_HEAD; do
>  				case "$i" in
>  				$match*)
>  					if [ -e "$dir/$i" ]; then
>						echo "$pfx$i$sfx"
>					fi
>					;;

Hmph, it gets tempting to do this instead:

	for i in $(cd "$dir/" && echo HEAD *_HEAD)
	do
		case "$i" in
		$match*)
			echo "$pfx$i$sfx"
			;;
		esac
	done

but I am no completion expert, so I'll queue the patch as-is.

Thanks.

```
