Web lists-archives.com

Re: [Git 2.13.0] BUG: setup_git_env called without repository




Hi Josh,

On Fri, 12 May 2017, Josh Hagins wrote:

> Since upgrading to Git 2.13.0 I'm seeing this error message whenever
> `git config --local <whatever>` is called outside a Git repository.
> For example, note the difference in behavior between Git 2.13 and
> Apple Git:
> 
>     $ pwd
>     /Users/jhagins
>     $ /usr/bin/git --version
>     git version 2.11.0 (Apple Git-81)
>     $ /usr/bin/git config --local --get user.name
>     $ /usr/local/bin/git --version
>     git version 2.13.0
>     $ /usr/local/bin/git config --local --get user.name
>     fatal: BUG: setup_git_env called without repository
> 
> Apple Git outputs nothing, as expected. The summarized release notes
> published by GitHub specifically mentioned that instances of this
> error message should be reported, so here you go!
> 
> Please let me know if I can provide any more information that would be
> helpful.

Since this is in /usr/local/bin/, there are two possibilities:

1) you built and installed it yourself (but then it would be more likely
   in your $HOME/bin), or

2) you installed it via HomeBrew.

I guess it is the latter.

In both cases, however, you have XCode installed, so you can dig further.
Yay.

The thing I would do in your case would be to clone Git:

	git clone https://github.com/git/git

then check out v2.13.0:

	git checkout v2.13.0

then edit the Makefile to remove the -O2 from the CFLAGS (the next step is
to use the GNU debugger, and in my hands the -O2 optimization made that
pretty useless), and then build with

	make

After that, you should be able to start the command in your local GNU
debugger:

	gdb -args ./git config --local --get user.name

You will then want to set a breakpoint on the die_builtin() function:

	b die_builtin

Now run it with the `r` command, and it should stop in the die_builtin
routine, in which case a backtrace would be most helpful to figure out
what is going wrong:

	bt

If the output is not enlightening on its own, it would be nice to paste it
into a reply to this mail so that the entire Git developer community can
have a look.

Ciao,
Johannes