Re: Bug using `fetch` with blank `-c` arguments to git

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 4, 2022 at 4:37 AM Adam Dinwoodie <adam@xxxxxxxxxxxxx> wrote:
>
> While investigating some issues with a different project, I discovered
> the command `git -c config.helper= fetch` was working with the Debian
> stable version of Git (v2.30.2) but not with my local build
> (v2.34.1.428.gdcc0cd074f).

Since you're working with a locally-built Git, have you, by chance,
actually _installed_ that build, or is it simply in the Git repository
itself after running make?

If you haven't _installed_ your build, my guess is you might be
getting a mismatch wherein your _built_ Git, when it forks out
subprocesses, is triggering your _installed_ Git (which I assume you
have, and which I assume is not 2.34.1). Git compiles paths into
itself to know where to find certain binaries, and if you run a
compiled-but-not-installed Git then those paths are "wrong". (I see
administrators do this fairly often when building Git from source to
set up Bitbucket Server.)

What does `./git --exec-path` print, when you run your 2.34.1 binary?
And is that where, for example, the compiled 2.34.1 versions of things
like `git-remote-https` are?

Hope this helps,
Bryan

>
> Specifically, I see the following output:
>
> $ ./git -c credential.helper= fetch
> error: bogus format in GIT_CONFIG_PARAMETERS
> fatal: unable to parse command-line config
>
> Investigating with `git bisect`, the change in behaviour seems to have
> been introduced in 1ff21c05ba ("config: store "git -c" variables using
> more robust format", 2021-01-12).
>
> I see the same behaviour with `-c config.helper=`, `-c
> core.autocrlf=`, `-c core.autocrlf` and `-c core.autocrlf=true`..
> Notably the behaviour does not affect all other git commands; `git -c
> core.autocrlf= log -1` works as expected.
>
> I think this is a regression; I can't see any reason why these
> commands shouldn't work.
>
> Curiously, I'm seeing this behaviour on both my Raspberry Pi OS and
> Debian Bullseye systems, but not my Cygwin systems. I've not yet tried
> to work out what the difference is there. In all cases, I was testing
> with my own build, built with `make -j<num> configure && ./configure
> --prefix=$HOME/.local && make -j<num>`.



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux