git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Bug when cloning a repository with a default branch called HEAD

From
Bagas Sanjaya <bagasdotme@gmail.com>
Date
May 31, 2021, 04:01 UTC
Message-ID
<07edafe5-d0a2-4a2c-12a2-28c163f6fdda@gmail.com>
In-Reply-To
<CAKChYSqgGRfBh68oj=Gt7q4uyS7D879aQZQiZ1RsyqaDToV+0g@mail.gmail.com>
Hi,
On 29/05/21 02.05, Björn Kautler wrote:
Show 7 quoted lines
> Hi,
> 
> I'm not right now sure why this repo is in this state or how it got
> there, but that doesn't matter.
> But if you clone it, everything is fine.
> And if you then try to fetch it, Git goes havoc:
> 

I'm trying to create minimal reproducible test repo by switching initial branch to HEAD:

$ mkdir shark && cd shark $ git init $ git checkout -b HEAD

But when I checkout, it returned error as expected:
> fatal: 'HEAD' is not a valid branch name.
Thus I can't reproduce this issue.
Show 49 quoted lines
> $ git clone https://gitlab.com/Vampire/whelk.git/ && cd whelk &&
> GIT_TRACE=1 git fetch; echo $?
> Cloning into 'whelk'...
> remote: Enumerating objects: 525, done.
> remote: Counting objects: 100% (525/525), done.
> remote: Compressing objects: 100% (227/227), done.
> remote: Total 525 (delta 280), reused 525 (delta 280), pack-reused 0
> Receiving objects: 100% (525/525), 165.63 KiB | 3.52 MiB/s, done.
> Resolving deltas: 100% (280/280), done.
> 21:04:15.761530 exec-cmd.c:237          trace: resolved executable
> dir: C:/Program Files/Git/mingw64/bin
> 21:04:15.765532 git.c:447               trace: built-in: git fetch
> warning: refname 'HEAD' is ambiguous.
> 21:04:15.769530 run-command.c:667       trace: run_command:
> GIT_DIR=.git git remote-https origin
> https://gitlab.com/Vampire/whelk.git/
> 21:04:15.795532 exec-cmd.c:237          trace: resolved executable
> dir: C:/Program Files/Git/mingw64/libexec/git-core
> 21:04:15.799535 git.c:734               trace: exec: git-remote-https
> origin https://gitlab.com/Vampire/whelk.git/
> 21:04:15.799535 run-command.c:667       trace: run_command:
> git-remote-https origin https://gitlab.com/Vampire/whelk.git/
> 21:04:15.832533 exec-cmd.c:237          trace: resolved executable
> dir: C:/Program Files/Git/mingw64/libexec/git-core
> 21:04:16.438060 run-command.c:667       trace: run_command: git
> rev-list --objects --stdin --not --all --quiet --alternate-refs
> 21:04:16.461060 run-command.c:667       trace: run_command: git
> rev-list --objects --stdin --not --all --quiet --alternate-refs
> 21:04:16.475738 exec-cmd.c:237          trace: resolved executable
> dir: C:/Program Files/Git/mingw64/libexec/git-core
> 21:04:16.478705 git.c:447               trace: built-in: git rev-list
> --objects --stdin --not --all --quiet --alternate-refs
> error: multiple updates for 'refs/remotes/origin/HEAD' (including one
> via symref 'refs/remotes/origin/HEAD') are not allowed
>  From https://gitlab.com/Vampire/whelk
>   ! [new branch]      HEAD       -> origin/HEAD  (unable to update local ref)
> error: some local refs could not be updated; try running
>   'git remote prune origin' to remove any old, conflicting branches
> 21:04:16.496254 run-command.c:667       trace: run_command: git
> maintenance run --auto --no-quiet
> 21:04:16.510254 exec-cmd.c:237          trace: resolved executable
> dir: C:/Program Files/Git/mingw64/libexec/git-core
> 21:04:16.512256 git.c:447               trace: built-in: git
> maintenance run --auto --no-quiet
> 1
> 
> Cheers
> Björn
> 

The remote [1] might misconfigured default branch, so instead of master/main it pointed to HEAD, and it caused the issue.

Thanks.
[1]: https://gitlab.com/Vampire/whelk
-- 
An old man doll... just what I always wanted! - Clara
Previous: Björn KautlerNext: asymptosis
Message 2 of 6 in “Bug when cloning a repository with a default branch called HEAD”
  1. Björn KautlerMay 28, 2021
  2. Bagas SanjayaMay 31, 2021
  3. asymptosisMay 31, 2021
  4. Fwd: Bug when cloning a repository with a default branch called HEADBjörn Kautler, May 31, 2021
  5. Randall S. BeckerMay 31, 2021
  6. Björn KautlerMay 31, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.