On Wed, Mar 28, 2012 at 01:58:51PM +0530, gt wrote:
On Wed, Mar 28, 2012 at 08:49:15AM +0200, Martti Kühne wrote:
On Wed, Mar 28, 2012 at 08:05:48AM +0200, martin kalcher wrote:
Hey hey
After the last bash-completion and git update there is a funny issue with the Git Prompt [1]: __git_ps1 is not defined
The bash-completion update moved most completion scripts to /usr/share/bash-completion/completions/
and sources them if needed. See line 1933 in: /usr/share/bash-completion/bash_completion
__git_ps1 is defined in: /usr/share/bash-completion/completions/git
So if you type 'git pul<TAB>' this file gets sourced and the error disappears. I worked around this by sourcing this file manually in my .bashrc
My question is, where i should report this bug. Is it a git problem or a bash-completion problem. I think its a git issue, because __git_ps1 is no complete function and should be defined somewhere else... Or shall i shut my mouth and continue sourcing it in my .bashrc?
you can go on sourcing the file in your .bashrc and report the issue upstream. although my personal opinion to the whole story is pacman -Rcs, since the problems with bash-completions are old, and the symptoms are recurring, in all different shapes, and the source code is a legendary mess.
What would you recommend instead? I too face problems time and again with bash-completion and would like to get rid of it. Do you have some special settings in your .bashrc?
AFAIK, the bash_completion script that is installed with the bash-completion package merely is a latch script where all other software's completion routines are sourced from '/etc/bash_completion.d'. You're free to source or not source whatever you want from that directory without the latch script installed, since it's your system/cpu time. The dependencies arising from that can be made flexible by wrapping the source with a test -f each time. That would leave you with a few additional lines in your ~/.bashrc or /etc/bash.bashrc, while keeping out the bloated mess that is bash_completion. See also, /etc/bash.bashrc line 23 cheers! mar77i