]> git.ipfire.org Git - thirdparty/git.git/commit
reftable: a generic binary tree implementation
authorHan-Wen Nienhuys <hanwen@google.com>
Thu, 7 Oct 2021 20:25:05 +0000 (20:25 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 8 Oct 2021 17:45:48 +0000 (10:45 -0700)
commit35425d1034f2a98d438da21c68334056af7033ca
tree28aaf52578a4c41af1351a30f95a96ffe45ab02e
parente581fd72319adcf378c97e19262dd4f46c7fbe07
reftable: a generic binary tree implementation

The reftable format includes support for an (OID => ref) map. This map can speed
up visibility and reachability checks. In particular, various operations along
the fetch/push path within Gerrit have ben sped up by using this structure.

The map is constructed with help of a binary tree. Object IDs are hashes, so
they are uniformly distributed. Hence, the tree does not attempt forced
rebalancing.

Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile
reftable/tree.c [new file with mode: 0644]
reftable/tree.h [new file with mode: 0644]
reftable/tree_test.c [new file with mode: 0644]
t/helper/test-reftable.c