On Sun, Mar 22, 2015 at 7:06 AM, SZEDER Gábor <szeder@xxxxxxxxxx> wrote: > > Hi, > > Quoting Jason Karns <karns.17@xxxxxxxxx>: > >> There appears to be a bug in the bash completion for git-branch when >> attempting to complete the remote ref argument for --set-upstream-to= >> >> When: >> >> $ git branch --set-upstream-to=origin/mast<TAB> >> >> I would expect it to complete to: >> >> $ git branch --set-upstream-to=origin/master >> >> However, the completion for --set-upstream-to= completes the ref >> correctly, but completely wipes the --set-upstream option; resulting >> in: >> >> $ git branch origin/master > > > Strange. > > The code in question > > case "$cur" in > --set-upstream-to=*) > __gitcomp "$(__git_refs)" "" "${cur##--set-upstream-to=}" > ;; > > looks unsuspicious, this is the "standard" way to complete > '--option=<TAB>' (except that we should use __gitcomp_nl() for completing > refs, but that should have no effect on this issue). Does the same issue > affect other 'git cmd --option=<TAB>' completions as well, e.g. 'git log > --date=<TAB>' or 'git commit --reuse-message=<TAB>'? Yep, same buggy behavior. > > We had a similar issue with ':' on the command line a looong while > ago, see v1.5.6.4~9^2 (bash completion: Resolve git show ref:path<tab> > losing ref: portion, 2008-07-15). Maybe we are dealing with the same issue > here, just a different character? > > What does > > printf "$COMP_WORDBREAKS" |tr ' \t\n' STN > > print out? Is the '=' missing, perhaps? If that's indeed the case, > does adding it back (COMP_WORDBREAKS="$COMP_WORDBREAKS"=) fix the issue? Adding it back in did indeed fix the issue. Now I get to track down who/why `=` isn't present in COMP_WORDBREAKS. Thanks! > > Gábor > Jason -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html