git/refs
Karthik Nayak b52a28b03e refs: skip to next ref when current ref is rejected
In `refs_verify_refnames_available()` we have two nested loops: the
outer loop iterates over all references to check, while the inner loop
checks for filesystem conflicts for a given ref by breaking down its
path.

With batched updates, when we detect a filesystem conflict, we mark the
update as rejected and execute 'continue'. However, this only skips to
the next iteration of the inner loop, not the outer loop as intended.
This causes the same reference to be repeatedly rejected. Fix this by
using a goto statement to skip to the next reference in the outer loop.

Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2026-01-25 22:27:33 -08:00
..
debug.c Merge branch 'gf/maintenance-is-needed-fix' 2025-12-30 12:58:20 +09:00
files-backend.c refs: skip to next ref when current ref is rejected 2026-01-25 22:27:33 -08:00
iterator.c refs: drop infrastructure to peel via iterators 2025-11-04 07:32:25 -08:00
packed-backend.c refs: skip to next ref when current ref is rejected 2026-01-25 22:27:33 -08:00
packed-backend.h refs/files: use heuristic to decide whether to repack with `--auto` 2024-09-04 08:03:24 -07:00
ref-cache.c refs: drop infrastructure to peel via iterators 2025-11-04 07:32:25 -08:00
ref-cache.h ref-cache: remove unused function 'find_ref_entry()' 2025-07-15 11:54:19 -07:00
refs-internal.h refs: skip to next ref when current ref is rejected 2026-01-25 22:27:33 -08:00
reftable-backend.c refs: skip to next ref when current ref is rejected 2026-01-25 22:27:33 -08:00