]> git.ipfire.org Git - thirdparty/git.git/commit
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)
commit8d6413a1bef7876b9c17a79358bd70b764ffacba
treeae6597f607ea6f315a9356180d96281bd14cf9e5
parent01d17c05305edefbbe62926f5a5425207324a87f
parent87d297f48367737444810f8c3e76ef88cb6aa4e3
Merge branch 'ps/refname-avail-check-optim'

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()`
builtin/clone.c
object-name.c
refs.c
refs.h
refs/files-backend.c
refs/packed-backend.c
refs/reftable-backend.c