On Friday, March 8, 2024 3:11 PM, brian m. carlson wrote: >On 2024-03-08 at 19:25:52, Angelo Dureghello wrote: >> Hi, >> >> below the bug report, not totally sure this is a bug btw. >> >> --- >> >> Thank you for filling out a Git bug report! >> Please answer the following questions to help us understand your issue. >> >> What did you do before the bug happened? (Steps to reproduce your >> issue) >> >> Perform a git clone https with includeif onbranch in the .gitconfig >> >> Create a .gitconfig >> with >> [includeIf "onbranch:wip/pippo/**"] >> path = ~/.gitconfig.pippo.inc >> >> git clone https://github.com/analogdevicesinc/no-OS.git >> >> Cloning into 'no-OS'... >> BUG: refs.c:2083: reference backend is unknown >> error: git-remote-https died of signal 6 > >Thanks for the report. > >I can definitely confirm this with a local Git 2.44.0 built out of my working tree. It seems to trigger as long as there's a `path` entry >whether the path exists or not. It _doesn't_ seem to trigger with a `gitdir` check, but does trigger for `onbranch`. v2.43.0 is not >affected. > >I do definitely think this is a bug. First of all, we should not trigger BUG conditions, even if the user has done something naughty, so we >should fix it for that reason. Second of all, this seems like a completely reasonable thing to want to do, and considering it triggers for >existing files, and that it worked just fine in v2.43.0, I don't see a reason we shouldn't have this work. > >A bisection[0] leads us to 0fcc285c5e ("refs: refactor logic to look up storage backends", 2023-12-29). I've CCed the author of that >commit, who hopefully can provide some more helpful context. > >I have some guesses about what's going on here, but I haven't poked further into the situation, so I'll refrain from speculating for now. > >[0] git bisect run sh -c 'make -j12 && cd $TMPDIR && rm -fr no-OS && PATH="$HOME/checkouts/git/bin-wrappers:$PATH" git clone >https://github.com/analogdevicesinc/no-OS.git; RET=$?; [ "$RET" -eq 128 ] && RET=1; exit $RET' I was wondering whether this should only work on a clone with -b wip/pippo/... argument, although it should not fail the clone, just not apply the path. I can see how it would be somewhat confusing if the global config defaults to master and remote only serves up main - or vise-versa. --Randall