Thread (6 messages) flat view 6 messages, 5 authors, 2021-02-03

Re: Bash completion suggests tags for git branch -D

From: Junio C Hamano <hidden>
Date: 2021-02-02 17:19:47
Subsystem: the rest · Maintainer: Linus Torvalds

Possibly related (same subject, not in this thread)

Jeff King [off-list ref] writes:
On Tue, Feb 02, 2021 at 04:02:13AM -0500, Jeff King wrote:
quoted
quoted
b-is-a-tag is not a branch, so should not be offered as a completion
candidate in this instance.
It looks like lowercase "-d" works. So maybe the "-d" here:

  $ sed -n '/git_branch/,/^}/p' contrib/completion/git-completion.bash | head 
  _git_branch ()
  {
  	local i c=1 only_local_ref="n" has_r="n"
  
  	while [ $c -lt $cword ]; do
  		i="${words[c]}"
  		case "$i" in
  		-d|--delete|-D|-m|--move)	only_local_ref="y" ;;
  		-r|--remotes)		has_r="y" ;;
  		esac

just needs to look for "-D", too?
Oops. I meant to paste the "before" snippet, but this is obviously after
I stuck "-D" in there. It does seem to work. :)
;-)

Before we forget, as you said a few times that everything you send
here on Git are signed off...

-- >8 --
From: Jeff King <redacted>
Date: Tue Feb 2 04:02:13 2021 -0500
Subject: [PATCH] completion: treat "branch -D" the same way as "branch -d"

Paul Jolly noticed that the former offers not just branches but tags
as completion candidates.  Mimic how "branch -d" limits its suggestion
to branch names.

Signed-off-by: Jeff King <redacted>
Signed-off-by: Junio C Hamano <redacted>
---
 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 4b1f4264a6..b54113e2f9 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1447,7 +1447,7 @@ _git_branch ()
 	while [ $c -lt $cword ]; do
 		i="${words[c]}"
 		case "$i" in
-		-d|--delete|-m|--move)	only_local_ref="y" ;;
+		-d|--delete|-D|-m|--move)	only_local_ref="y" ;;
 		-r|--remotes)		has_r="y" ;;
 		esac
 		((c++))
-- 
2.30.0-586-g047f30a795
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help