]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'ps/refname-avail-check-optim'
authorJunio C Hamano <gitster@pobox.com>
Sat, 29 Mar 2025 07:39:07 +0000 (16:39 +0900)
committerJunio C Hamano <gitster@pobox.com>
Sat, 29 Mar 2025 07:39:07 +0000 (16:39 +0900)
The code paths to check whether a refname X is available (by seeing
if another ref X/Y exists, etc.) have been optimized.

* ps/refname-avail-check-optim:
  refs: reuse iterators when determining refname availability
  refs/iterator: implement seeking for files iterators
  refs/iterator: implement seeking for packed-ref iterators
  refs/iterator: implement seeking for ref-cache iterators
  refs/iterator: implement seeking for reftable iterators
  refs/iterator: implement seeking for merged iterators
  refs/iterator: provide infrastructure to re-seek iterators
  refs/iterator: separate lifecycle from iteration
  refs: stop re-verifying common prefixes for availability
  refs/files: batch refname availability checks for initial transactions
  refs/files: batch refname availability checks for normal transactions
  refs/reftable: batch refname availability checks
  refs: introduce function to batch refname availability checks
  builtin/update-ref: skip ambiguity checks when parsing object IDs
  object-name: allow skipping ambiguity checks in `get_oid()` family
  object-name: introduce `repo_get_oid_with_flags()`

1  2 
builtin/clone.c
object-name.c
refs.c
refs.h
refs/files-backend.c
refs/packed-backend.c
refs/reftable-backend.c

diff --cc builtin/clone.c
Simple merge
diff --cc object-name.c
Simple merge
diff --cc refs.c
Simple merge
diff --cc refs.h
Simple merge
Simple merge
Simple merge
Simple merge