Created attachment 560348 [details] emerge --info If I use git-2.19.2 (and a lot of older versions too), have enabled bash completion and type `git check<TAB>`, it completes to `git checkout`. When I upgrade to git-2.20, this stops working and I have to type the whole subcommand by hand, which is annoying. However, parts of the completion still works, because when I type `git checkout mas<TAB>`, it correctly completes to master.
Are you still able to reproduce with git-2.20.1? I cannot...
Yes, I can still reproduce (after emerging it, I need to clone and open a new shell, so the new definitions are loaded).
Just to be clear here... the bug you see is that when you have git older than 2.20 installed, then upgrade git to 2.20 or newer you have the issue with bash-completion _until_ you start a new shell/session?
No, if it was that, I'd just opened a new session and wouldn't bother with reporting it O:-). * I have git 2.19.2. Everything works fine. * I upgrade to git 2.20.*. In existing session, everything still works fine. * I open a new shell. Completion of git subcommands no longer works in the new session.
(In reply to Michal 'vorner' Vaner from comment #4) > No, if it was that, I'd just opened a new session and wouldn't bother with > reporting it O:-). > > * I have git 2.19.2. Everything works fine. > * I upgrade to git 2.20.*. In existing session, everything still works fine. > * I open a new shell. Completion of git subcommands no longer works in the > new session. Thanks. So this needs to get reported to upstream...
I've discovered the cause. My $HOME/.bash_completion.d/git was an outdated copy from some old version of git, not a symlink to /usr/share/bash-completion/completions/git. The old version didn't work well with the new binary. Sorry for the fuzz :-|