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

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

 



On Tue, 4 Jan 2022 at 20:04, Bryan Turner <bturner@xxxxxxxxxxxxx> wrote:
>
> 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?

Good thoughts, but I initially hit this problem after having installed
it; I reproduced it running Git from the working copy for ease of
bisecting, but the problem definitely occurs using the compiled
version after installation. The below was collected after running
`make install` (plus all the previously noted build commands,
including running the configure script to specify the installation
path) with the commit I identified as introducing the problem:

```
$ type git
git is hashed (/home/adam/.local/bin/git)

$ which git
/home/adam/.local/bin/git

$ git --version
git version 2.29.2.372.g1ff21c05ba

$ git --exec-path
/home/adam/.local/libexec/git-core

$ ls $(git --exec-path)/git $(git --exec-path)/git-remote-https
/home/adam/.local/libexec/git-core/git
/home/adam/.local/libexec/git-core/git-remote-https

$ $(git --exec-path)/git --version
git version 2.29.2.372.g1ff21c05ba

$ rm -rf tmp && git -c core.autocrlf=true clone git://github.com/git/git tmp
Cloning into 'tmp'...
error: bogus format in GIT_CONFIG_PARAMETERS
fatal: unable to parse command-line config
```

For the sake of double-checking, though, I just uninstalled the
version of Git in /usr/bin (after spending some time working out how
to do that with apt, without also uninstalling dependencies I wanted
to leave alone) and repeated the above commands, and got exactly the
same output.



[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