]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'ps/ref-peeled-tags' into jch
authorJunio C Hamano <gitster@pobox.com>
Thu, 6 Nov 2025 23:17:11 +0000 (15:17 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 6 Nov 2025 23:17:11 +0000 (15:17 -0800)
Some ref backend storage can hold not just the object name of an
annotated tag, but the object name of the object the tag points at.
The code to handle this information has been streamlined.

* ps/ref-peeled-tags:
  t7004: do not chdir around in the main process
  ref-filter: fix stale parsed objects
  ref-filter: parse objects on demand
  ref-filter: detect broken tags when dereferencing them
  refs: don't store peeled object IDs for invalid tags
  object: add flag to `peel_object()` to verify object type
  refs: drop infrastructure to peel via iterators
  refs: drop `current_ref_iter` hack
  builtin/show-ref: convert to use `reference_get_peeled_oid()`
  ref-filter: propagate peeled object ID
  upload-pack: convert to use `reference_get_peeled_oid()`
  refs: expose peeled object ID via the iterator
  refs: refactor reference status flags
  refs: fully reset `struct ref_iterator::ref` on iteration
  refs: introduce `.ref` field for the base iterator
  refs: introduce wrapper struct for `each_ref_fn`

12 files changed:
1  2 
builtin/bisect.c
builtin/fsck.c
builtin/gc.c
builtin/pack-objects.c
builtin/rev-parse.c
http-backend.c
object-name.c
object.h
refs/debug.c
refs/files-backend.c
refs/reftable-backend.c
server-info.c

Simple merge
diff --cc builtin/fsck.c
Simple merge
diff --cc builtin/gc.c
Simple merge
Simple merge
Simple merge
diff --cc http-backend.c
Simple merge
diff --cc object-name.c
Simple merge
diff --cc object.h
Simple merge
diff --cc refs/debug.c
Simple merge
Simple merge
Simple merge
diff --cc server-info.c
Simple merge