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