Subject: [bug#49252] [PATCH] Channels defaulting to HEAD instead of ‘master’

From: Kyle Meyer <[email-masked]>
Date: Sun, 08 Aug 2021 19:28:05 -0400

Ludovic Courtès writes:

> Kyle Meyer <[email-masked]> skribis:
[...]
>>
>> Hmm, it looks like it's there:
>>
>>   $ git ls-remote https://git.savannah.gnu.org/git/guix.git | grep HEAD
>>   e499500730de23fd54ae63696a725d4b90a406d7	HEAD
>>
>>   $ git clone https://git.savannah.gnu.org/git/guix.git && cd guix
>>   $ git for-each-ref refs/remotes/origin | grep HEAD
>>   e499500730de23fd54ae63696a725d4b90a406d7 commit	refs/remotes/origin/HEAD
>>   $ git name-rev refs/remotes/origin/HEAD
>>   refs/remotes/origin/HEAD master
>
> OK, so something else must be at fault.
>
> Ideas?

My understanding is that the clone is happening through guile-git, which
uses libgit2.  In libgit2's v1.1.0 release notes, I see "[t]he
refs/remotes/origin/HEAD file will be created at clone time to point to
the origin's default branch".  So my current guess is that this clone
was made before guix's libgit2 was 1.1.0.

Does that sound possible (i.e. this clone is from before 2020-12-ish)?
Do you still see the "reference 'refs/remotes/origin/HEAD' not found"
failure if you force a fresh clone?