Subject: Re: possible completion bug with --set-upstream-to=

From: SZEDER Gábor <[email-masked]>
Date: Sat, 30 Dec 2017 09:28:06 +0100

> Whenever I type the last <TAB> to complete origin/master, as in below:
> 
> > git branch --set-upstream-to=orig<TAB>
> 
> what I get is:
> 
> > git branch origin/master

Yeah, this shouldn't happen. 

> instead of the expected:
> 
> > git branch --set-upstream-to=origin/master

And indeed this is the expected behavior.

> git version and OS:
> >git version 2.1.4

I couldn't reproduce the wrong behavior you saw using v2.1.4 in a
regular setup.
 
However, I could reproduce it after I removed the '=' character from
the set of characters in $COMP_WORDBREAKS, but then all completions
after an '--option=' are affected, e.g. 'pulseaudio --daemonize=t<TAB>
becomes 'pulseaudio true', too.

Could you tell us the content of your $COMP_WORDBREAKS using the
output of the following command (to make the included space, tab and
newline visible):

  printf "$COMP_WORDBREAKS" |tr ' \t\n' STN ; echo

If it's indeed the case that $COMP_WORDBREAKS is missing the '=', then
you should add it back and check whether it fixed the issue.  If it
did fix it, then you should try to figure out how the '=' got removed
from there.  Perhaps you used a program that ships its own completion
script whose developers changed $COMP_WORDBREAKS to their liking, not
knowing about its effect on other completion scripts.

Gábor