Subject: Re: mirror clone does not keep HEAD updated

From: Junio C Hamano <[email-masked]>
Date: Tue, 04 Apr 2023 09:38:07 -0700

Daniel Martí <[email-masked]> writes:

> I'm testing `git clone --mirror` to properly mirror a repository on
> github.com. It appears to be working well, except for keeping HEAD
> correctly in place.

There is no such feature in "git clone" or "git fetch" to check what
branch the remote HEAD is pointing at and move the local copy around.
For a long time, even "git clone" did not have a reliable way to see
where the HEAD at the remote site points at, and it used heuristics
to guess what name to give to the first branch on the local side.

Modern versions of Git these days have a protocol level support to
convey that information, and I think it is feasible to invent such a
feature to automatically repoint refs/remotes/$remote/HEAD to
whatever remote-tracking branch found in the refs/remotes/$remote/
hierarchy.

I do not think anybody is working on such a project, though.

We are pretty much "somebody should initiate the process to scratch
their own itch, and we will help them in doing so" community, so you
or somebody who reads this thread interesting will hopefully start
such an effort ;-)

Thanks.