On Thu, Feb 21, 2019 at 9:19 AM brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Tue, Feb 19, 2019 at 05:51:05PM +0100, Mateusz Loskot wrote: > > Hi, > > > > $ git version > > git version 2.20.1.windows.1 > > > > I'm running `git clone --recurse-submodules https://XXX` > > The command seems to run well and completes with success. > > > > However, I noticed strange output from git: > > > > ``` > > Submodule 'Binary/A' (https://XXX) registered for path '!f() { > > ~/AppData/Local/Fork/Fork.exe $PWD; }; fBinary/A' > > Submodule 'Binary/B' (https://XXX) registered for path 'À ♂♦Binary/Intergraph' > > Submodule 'Binary/C' (https://XXX) registered for path '!sh -c 'git > > log $1@{1}..$1@{0} $@'Binary/C' > > Submodule 'Binary/D' (https://XXX) registered for path 'ls-files -o -i > > --exclude-standardBinary/D' > > Submodule 'Binary/E' (https://XXX) registered for path > > 'mergetool.TortoiseGitMerge.trustexitcodeBinary/E' > > ``` > > > > I managed to identify where that garbage injections come from: > > from git aliases I've got configured [1] > > > > Could anyone explain what is happening here? > > Is there anything wrong with my ~/.gitconfig [1] ? > > I see the right behavior on my system (Debian amd64/sid) with > 2.21.0.rc0.258.g878e2cd30e and with master. I've built with ASan and > don't see any memory warnings on my system. I ran valgrind yesterday (gentoo amd64) and didn't find the problem either even though it clearly looked like some dangling pointers. I also audited this code and couldn't find anything obviously wrong. My only suspicion is maybe some strange getenv() behavior on Windows (_if_ the super prefix is used, but I can't see how...) and that's just a dead end for me. -- Duy