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

Re: bash_completion outside repo

From
Jeff King <peff@peff.net>
Date
Sep 11, 2009, 14:17 UTC
Message-ID
<20090911141730.GA384@coredump.intra.peff.net>
In-Reply-To
<a3b675320909110700k7eb7286qc8cb5691aae214c7@mail.gmail.com>
On Fri, Sep 11, 2009 at 10:00:33AM -0400, james bardin wrote:
Show 7 quoted lines
> I did a make install, and dropped the completion file in
> /etc/bash_completion.d/. No other settings changed. I did a quick
> check, and it happens with the current 1.6.5 snapshot too, and on a
> fedora 10 box I found.
> 
> It seems I only get this error if I don't have a global config.
> Touching ~/.gitconfig stops the error.

Ah, I see. It looks like we use "git config --list" to view several bits of configuration. However, it is not happy if there is no config file to list.

However, I'm not sure that "config --list" isn't broken. Inside a repo, doing "git config --list" shows the repo config and my global config, and exits with no error. Outside a repo, it shows my global config, and exits with no error. But if I _don't_ have global config, it produces an error. Shouldn't it treat that as simply "no config is available"?

I also question why it is using "git config --list" at all in snippets like this:

        for i in $(git --git-dir="$d" config --list); do
                case "$i" in
                remote.*.url=*)
                        i="${i#remote.}"
                        echo "${i/.url=*/}"
                        ;;
                esac
        done

instead of just using "git config --get-regexp 'remote\..*\.url'", which would be slightly more efficient, and also doesn't have this bug. ;)

-Peff
Previous: james bardinNext: Shawn O. Pearce
Message 5 of 20 in “bash_completion outside repo”
  1. james bardinSep 10, 2009
  2. Michael J GruberSep 11, 2009
  3. Todd ZullingerSep 11, 2009
  4. james bardinSep 11, 2009
  5. Jeff KingSep 11, 2009
  6. Shawn O. PearceSep 11, 2009
  7. Jeff KingSep 11, 2009
  8. Jeff KingSep 11, 2009
  9. Junio C HamanoSep 11, 2009
  10. Jeff KingSep 11, 2009
  11. Junio C HamanoSep 11, 2009
  12. Jeff KingSep 11, 2009
  13. Junio C HamanoSep 11, 2009
  14. Junio C HamanoSep 11, 2009
  15. Jeff KingSep 11, 2009
  16. completion: Replace config --list with --get-regexpTodd Zullinger, Sep 11, 2009
  17. Shawn O. PearceSep 12, 2009
  18. Bert WesargSep 13, 2009
  19. Todd ZullingerSep 13, 2009
  20. Junio C HamanoSep 13, 2009

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.