pr-539/hanwen/reftable-v13
tagged this
11 May 19:46
This adds the reftable library, and hooks it up as a ref backend. Includes testing support, to test: make -C t/ GIT_TEST_REFTABLE=1 Summary 19055 tests pass 2765 tests fail Some issues: * many tests inspect .git/{logs,heads}/ directly. * worktrees broken. * Rebase/cherry-pick still largely broken v16 * handle pseudo refs. * various bugfixes and fixes for mem leaks. Han-Wen Nienhuys (11): refs.h: clarify reflog iteration order t: use update-ref and show-ref to reading/writing refs refs: document how ref_iterator_advance_fn should handle symrefs reftable: clarify how empty tables should be written reftable: define version 2 of the spec to accomodate SHA256 Write pseudorefs through ref backends. Iterate over the "refs/" namespace in for_each_[raw]ref Add .gitattributes for the reftable/ directory Add reftable library Reftable support for git-core Add some reftable testing infrastructure Johannes Schindelin (1): vcxproj: adjust for the reftable changes Jonathan Nieder (1): reftable: file format documentation Documentation/Makefile | 1 + Documentation/technical/reftable.txt | 1083 ++++++++++++++ .../technical/repository-version.txt | 7 + Makefile | 27 +- builtin/clone.c | 3 +- builtin/init-db.c | 56 +- cache.h | 6 +- config.mak.uname | 2 +- contrib/buildsystems/Generators/Vcxproj.pm | 11 +- refs.c | 148 +- refs.h | 28 +- refs/files-backend.c | 164 ++- refs/packed-backend.c | 40 +- refs/refs-internal.h | 18 + refs/reftable-backend.c | 1218 ++++++++++++++++ reftable/.gitattributes | 1 + reftable/LICENSE | 31 + reftable/README.md | 11 + reftable/VERSION | 14 + reftable/basics.c | 215 +++ reftable/basics.h | 53 + reftable/block.c | 434 ++++++ reftable/block.h | 129 ++ reftable/constants.h | 21 + reftable/file.c | 99 ++ reftable/iter.c | 240 ++++ reftable/iter.h | 63 + reftable/merged.c | 325 +++++ reftable/merged.h | 38 + reftable/pq.c | 114 ++ reftable/pq.h | 34 + reftable/reader.c | 753 ++++++++++ reftable/reader.h | 65 + reftable/record.c | 1141 +++++++++++++++ reftable/record.h | 121 ++ reftable/refname.c | 215 +++ reftable/refname.h | 38 + reftable/reftable.c | 91 ++ reftable/reftable.h | 564 ++++++++ reftable/slice.c | 225 +++ reftable/slice.h | 76 + reftable/stack.c | 1245 +++++++++++++++++ reftable/stack.h | 48 + reftable/system.h | 54 + reftable/tree.c | 67 + reftable/tree.h | 34 + reftable/update.sh | 24 + reftable/writer.c | 665 +++++++++ reftable/writer.h | 60 + reftable/zlib-compat.c | 92 ++ repository.c | 2 + repository.h | 3 + setup.c | 12 +- t/t0002-gitfile.sh | 2 +- t/t0031-reftable.sh | 120 ++ t/t1400-update-ref.sh | 32 +- t/t1409-avoid-packing-refs.sh | 6 + t/t1506-rev-parse-diagnosis.sh | 2 +- t/t3210-pack-refs.sh | 6 + t/t6050-replace.sh | 2 +- t/t9020-remote-svn.sh | 4 +- t/test-lib.sh | 5 + 62 files changed, 10201 insertions(+), 207 deletions(-) create mode 100644 Documentation/technical/reftable.txt create mode 100644 refs/reftable-backend.c create mode 100644 reftable/.gitattributes create mode 100644 reftable/LICENSE 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/constants.h 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/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/refname.c create mode 100644 reftable/refname.h create mode 100644 reftable/reftable.c create mode 100644 reftable/reftable.h create mode 100644 reftable/slice.c create mode 100644 reftable/slice.h create mode 100644 reftable/stack.c create mode 100644 reftable/stack.h create mode 100644 reftable/system.h create mode 100644 reftable/tree.c create mode 100644 reftable/tree.h create mode 100755 reftable/update.sh create mode 100644 reftable/writer.c create mode 100644 reftable/writer.h create mode 100644 reftable/zlib-compat.c create mode 100755 t/t0031-reftable.sh base-commit: b994622632154fc3b17fb40a38819ad954a5fb88 Submitted-As: https://lore.kernel.org/git/pull.539.v13.git.1589226388.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.539.git.1579808479.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.539.v2.git.1580134944.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.539.v3.git.1580848060.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.539.v4.git.1581029756.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.539.v5.git.1581344060.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.539.v6.git.1582015420.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.539.v7.git.1582706986.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.539.v8.git.1585740538.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.539.v9.git.1587417295.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.539.v10.git.1588018418.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.539.v11.git.1588619028.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.539.v12.git.1588845585.gitgitgadget@gmail.com
Assets 2
-
2020-05-11T19:46:28Z -
2020-05-11T19:46:28Z - Loading