This adds the reftable library, and hooks it up as a ref backend. Han-Wen Nienhuys (5): setup.c: enable repo detection for reftable create .git/refs in files-backend.c Document how ref iterators and symrefs interact Add reftable library Reftable support for git-core Makefile | 23 +- builtin/init-db.c | 2 - refs.c | 18 +- refs.h | 2 + refs/files-backend.c | 4 + refs/refs-internal.h | 4 + refs/reftable-backend.c | 780 ++++++++++++++++++++++++++++ reftable/README.md | 12 + reftable/VERSION | 293 +++++++++++ reftable/basics.c | 180 +++++++ reftable/basics.h | 38 ++ reftable/block.c | 382 ++++++++++++++ reftable/block.h | 71 +++ reftable/block_test.c | 145 ++++++ reftable/blocksource.h | 20 + reftable/bytes.c | 0 reftable/constants.h | 27 + reftable/dump.c | 102 ++++ reftable/file.c | 98 ++++ reftable/iter.c | 211 ++++++++ reftable/iter.h | 56 ++ reftable/merged.c | 262 ++++++++++ reftable/merged.h | 34 ++ reftable/merged_test.c | 247 +++++++++ reftable/pq.c | 116 +++++ reftable/pq.h | 34 ++ reftable/reader.c | 672 ++++++++++++++++++++++++ reftable/reader.h | 52 ++ reftable/record.c | 1030 +++++++++++++++++++++++++++++++++++++ reftable/record.h | 79 +++ reftable/record_test.c | 313 +++++++++++ reftable/reftable.h | 396 ++++++++++++++ reftable/reftable_test.c | 434 ++++++++++++++++ reftable/slice.c | 179 +++++++ reftable/slice.h | 39 ++ reftable/slice_test.c | 38 ++ reftable/stack.c | 931 +++++++++++++++++++++++++++++++++ reftable/stack.h | 40 ++ reftable/stack_test.c | 265 ++++++++++ reftable/test_framework.c | 60 +++ reftable/test_framework.h | 63 +++ reftable/tree.c | 60 +++ reftable/tree.h | 24 + reftable/tree_test.c | 54 ++ reftable/writer.c | 586 +++++++++++++++++++++ reftable/writer.h | 46 ++ setup.c | 20 +- 47 files changed, 8530 insertions(+), 12 deletions(-) create mode 100644 refs/reftable-backend.c create mode 100644 reftable/README.md create mode 100644 reftable/VERSION create mode 100644 reftable/basics.c create mode 100644 reftable/basics.h create mode 100644 reftable/block.c create mode 100644 reftable/block.h create mode 100644 reftable/block_test.c create mode 100644 reftable/blocksource.h create mode 100644 reftable/bytes.c create mode 100644 reftable/constants.h create mode 100644 reftable/dump.c create mode 100644 reftable/file.c create mode 100644 reftable/iter.c create mode 100644 reftable/iter.h create mode 100644 reftable/merged.c create mode 100644 reftable/merged.h create mode 100644 reftable/merged_test.c create mode 100644 reftable/pq.c create mode 100644 reftable/pq.h create mode 100644 reftable/reader.c create mode 100644 reftable/reader.h create mode 100644 reftable/record.c create mode 100644 reftable/record.h create mode 100644 reftable/record_test.c create mode 100644 reftable/reftable.h create mode 100644 reftable/reftable_test.c create mode 100644 reftable/slice.c create mode 100644 reftable/slice.h create mode 100644 reftable/slice_test.c create mode 100644 reftable/stack.c create mode 100644 reftable/stack.h create mode 100644 reftable/stack_test.c create mode 100644 reftable/test_framework.c create mode 100644 reftable/test_framework.h create mode 100644 reftable/tree.c create mode 100644 reftable/tree.h create mode 100644 reftable/tree_test.c create mode 100644 reftable/writer.c create mode 100644 reftable/writer.h base-commit: 232378479ee6c66206d47a9be175e3a39682aea6 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-539%2Fhanwen%2Freftable-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-539/hanwen/reftable-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/539 -- gitgitgadget