Re: Bash completion suggests tags for git branch -D

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 02, 2021 at 06:01:07AM +0000, Paul Jolly wrote:

> Easiest explained via a repro:
> 
>     cd $(mktemp -d)
>     git init
>     touch README
>     git add -A
>     git commit -am 'Initial commit'
>     git checkout -b branch
>     git tag b-is-a-tag
> 
> If you then type:
> 
>     git branch -D b^
> 
> leaving the cursor at the position shown by the caret, then attempt
> completion via <Tab><Tab> (at least according to my bash setup) two
> options are shown:
> 
>     b-is-a-tag   branch
> 
> 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?

-Peff



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux