]> git.ipfire.org Git - thirdparty/git.git/commit
Merge branch 'ps/cat-file-filter-batch'
authorJunio C Hamano <gitster@pobox.com>
Wed, 16 Apr 2025 20:54:20 +0000 (13:54 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 16 Apr 2025 20:54:21 +0000 (13:54 -0700)
commita271b05066a1fd2c3a62508d9908d6c5df14a1cb
tree57e55fd6b395f8e5da4e23e1344c55d0d38ed80c
parent9bdd7ecf7ec90433fc1803bf5d608d08857b3b49
parent8002e8ee1829f0c727aa2f7d9c18ad706cb63565
Merge branch 'ps/cat-file-filter-batch'

"git cat-file --batch" and friends learned to allow "--filter=" to
omit certain objects, just like the transport layer does.

* ps/cat-file-filter-batch:
  builtin/cat-file: use bitmaps to efficiently filter by object type
  builtin/cat-file: deduplicate logic to iterate over all objects
  pack-bitmap: introduce function to check whether a pack is bitmapped
  pack-bitmap: add function to iterate over filtered bitmapped objects
  pack-bitmap: allow passing payloads to `show_reachable_fn()`
  builtin/cat-file: support "object:type=" objects filter
  builtin/cat-file: support "blob:limit=" objects filter
  builtin/cat-file: support "blob:none" objects filter
  builtin/cat-file: wire up an option to filter objects
  builtin/cat-file: introduce function to report object status
  builtin/cat-file: rename variable that tracks usage
Documentation/git-cat-file.adoc
builtin/pack-objects.c
builtin/rev-list.c
pack-bitmap.c
pack-bitmap.h
reachable.c
t/t1006-cat-file.sh