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

Re: How to get failed refs with new 'git fetch' behavior?

From
KHKristoffer Haugsbakk <kristofferhaugsbakk@fastmail.com>
Date
Jan 20, 2026, 08:03 UTC
Message-ID
<913c7904-1f31-4d76-bb4e-178ab94f0e71@app.fastmail.com>
In-Reply-To
<CAM8dTE=RciNHyyyhtprjXL22deTrzj5DKcBsSiAt0jFz6Az8JQ@mail.gmail.com>
On Tue, Jan 20, 2026, at 07:19, Stepan Tsymbal wrote:
Show 24 quoted lines
> Appreciate your time and effort on developing and supporting the tool!
> I hope you can help me understand how to work with new behavior
> introduced in 2.51.
>
> We parse output of ‘git fetch’ command in Bitbucket - in automation
> that synchronizes mirrors. And from the output we see what references
> were successfully updated and what failed.
>
> In 0e358de (fetch: use batched reference updates) ‘git fetch’ started
> to use batched reference updates. Which is a great improvement by
> itself, and required the change in 'git fetch' output.
>
>[snip]
>
> Reproducible example:
>     mkdir first && cd first
>     git init -b main
>     git commit --allow-empty -m "initial commit"
>     git clone ../first ../second
>     git switch -c branch_path
>     git commit --allow-empty -m "another commit"
>     cd ../second
>     git update-ref refs/remotes/origin/branch_path/conflict HEAD
>     git fetch

I think this is fixed by the topic kn/ref-batch-output-error-reporting-fix:

https://lore.kernel.org/git/20260114-633-regression-lost-diagnostic-message-when-pushing-non-commit-objects-to-refs-heads-v1-6-f5f8b173c501@gmail.com/
The output when I use Git v2.52.0 on that script:
    ...
    Unpacking objects: 100% (1/1), 170 bytes | 170.00 KiB/s, done.
    From <path>
     * [new branch]      branch_path -> origin/branch_path
    error: some local refs could not be updated; try running
     'git remote prune origin' to remove any old, conflicting branches

This topic is merged to branch ‘seen’ right now (678fb955 (Merge branch 'dw/config-global-list' into seen, 2026-01-17)). This is the output there:

    ...
    Unpacking objects: 100% (1/1), 171 bytes | 171.00 KiB/s, done.
    error: some local refs could not be updated; try running
     'git remote prune origin' to remove any old, conflicting branches
    From <path>
     ! [new branch]      branch_path -> origin/branch_path  (unable to update local ref)
Previous: Stepan TsymbalNext: Stepan Tsymbal
Message 2 of 3 in “How to get failed refs with new 'git fetch' behavior?”
  1. Stepan TsymbalJan 20, 2026
  2. Kristoffer HaugsbakkJan 20, 2026
  3. Stepan TsymbalJan 21, 2026

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.