"Han-Wen Nienhuys via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > This adds the reftable library, and hooks it up as a ref backend. Just a quick impression before getting into details of individual steps. * With this series, the reftable backend seems to take over as the default and only backend. We would need to design and decide how repositories would specify which backend it uses (I personally do not think we need to allow more than one backend to be active at the same time) before we take this series out of RFC status. * What's reftable/VERSION file? Does it really have what you intended to add? * Mixed indentation and many whitespace breakages make the code distracting to review. * Comparison with 0 is written as "if (!strcmp(a, b))" in this codebase, and never "if (0 != strcmp(a, b))". * We unfortunately do not use var defn "for (int i = 0; ..." yet. * We do not use // comments. Thanks. > 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