From: Kristoffer Haugsbakk Date: Tue, 20 Jan 2026 08:03:33 GMT Subject: Re: How to get failed refs with new 'git fetch' behavior? Message-ID: <913c7904-1f31-4d76-bb4e-178ab94f0e71@app.fastmail.com> In-Reply-To: On Tue, Jan 20, 2026, at 07:19, Stepan Tsymbal wrote: > 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 * [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 ! [new branch] branch_path -> origin/branch_path (unable to update local ref)