git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: bash-completion now loads completions dynamically, so __git_ps1 is not defined when you open a shell

From
KSKerrick Staley <mail@kerrickstaley.com>
Date
Mar 29, 2012, 00:00 UTC
Message-ID
<CANaWP3w9KDu57aHquRRYt8td_haSWTBKs7zUHy-xu0B61gmr9A@mail.gmail.com>
In-Reply-To
<20120328230642.GA16925@burratino>
On Wed, Mar 28, 2012 at 5:17 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 5 quoted lines
> Sorry, I don't quite get it.  "newer verions" of what?
>
> To me, completion scripts have always been to be dot-sourced early, making
> sure inclusion happen before PS1 is used.  Did we change anything recently
> to break it????

bash-completion 1.99 (still a "beta", but Arch Linux now ships it) will automatically source the git-completion.bash script when you type git <tab>. The script is no longer sourced when you first open a shell.

There are two main ways to fix this:
1) define __git_ps1 (and friends) in a different script, which will
get installed in /etc/profile.d (this is the "proper way")
2) require that git-completion.bash always be loaded in the beginning
instead of on-the-fly (which is how it works now now)
I can submit a patch implementing option (1) if needed.

This is a very minor issue, but some recommendation from upstream would be nice so that distros know how to handle this.

On Wed, Mar 28, 2012 at 6:06 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
> Yes, I think so.  Do the release notes for version 2.0 of the
> /etc/bash_completion wrapper script mention this change?

I'm not sure, but the feature is definitely there. The branch implementing this feature has been merged into the project's master (see http://anonscm.debian.org/gitweb/?p=bash-completion/bash-completion.git;a=commit;h=b377dc5de84913b69efa325590e9d0bb97d02128).

-Kerrick
Previous: Jonathan NiederNext: Jeff King
Message 5 of 8 in “bash-completion now loads completions dynamically, so __git_ps1 is not defined when you open a shell”
  1. Kerrick StaleyMar 28, 2012
  2. Junio C HamanoMar 28, 2012
  3. Jeff KingMar 29, 2012
  4. Jonathan NiederMar 28, 2012
  5. Kerrick StaleyMar 29, 2012
  6. Jeff KingMar 29, 2012
  7. Felipe ContrerasApr 7, 2012
  8. Jonathan NiederApr 7, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.