Hi, this is the second version of my patch series that drops the REFFILES prereq from more tests, thereby increasing test coverage of the reftable backend. There's only a single change compared to v1, addressing Junio's feedback. Please refer to the below range-diff. Thanks! Patrick Patrick Steinhardt (7): t: move tests exercising the "files" backend t0410: convert tests to use DEFAULT_REPO_FORMAT prereq t1400: exercise reflog with gaps with reftable backend t1404: make D/F conflict tests compatible with reftable backend t1405: remove unneeded cleanup step t2011: exercise D/F conflicts with HEAD with the reftable backend t7003: ensure filter-branch prunes reflogs with the reftable backend t/t0410-partial-clone.sh | 4 +- t/t0600-reffiles-backend.sh | 91 ++++++++++++++++++++++++++++++++ t/t1301-shared-repo.sh | 16 ------ t/t1400-update-ref.sh | 50 +++--------------- t/t1404-update-ref-errors.sh | 37 ++++++------- t/t1405-main-ref-store.sh | 6 --- t/t2011-checkout-invalid-head.sh | 17 +++--- t/t3200-branch.sh | 29 ---------- t/t3400-rebase.sh | 10 ---- t/t7003-filter-branch.sh | 5 +- 10 files changed, 125 insertions(+), 140 deletions(-) Range-diff against v1: 1: 2eca90234f = 1: 6891cdfdb3 t: move tests exercising the "files" backend 2: feef6a3e6c ! 2: 2dd87f3126 t0410: enable tests with extensions with non-default repo format @@ Metadata Author: Patrick Steinhardt ## Commit message ## - t0410: enable tests with extensions with non-default repo format + t0410: convert tests to use DEFAULT_REPO_FORMAT prereq In t0410 we have two tests which exercise how partial clones behave in the context of a repository with extensions. These tests are marked to - require a default repository using SHA1 and the "files" backend because - we explicitly set the repository format version to 0. + require a repository using SHA1 and the "files" backend because we + explicitly set the repository format version to 0, and setting up either + the "objectFormat" or "refStorage" extensions requires a repository + format version of 1. - Changing the repository format version to 0 is not needed though. The - "noop" extension is ignored as expected regardless of what the version - is set to, same as the "nonsense" extension leads to failure regardless - of the version. - - Stop setting the version so that these tests can execute with SHA256 and - "reftable" repositories. + We have recently introduced a new DEFAULT_REPO_FORMAT prerequisite. + Despite capturing the intent more directly, it also has the added + benefit that it can easily be extended in the future in case we add new + repository extensions. Adapt the tests to use it. Signed-off-by: Patrick Steinhardt @@ t/t0410-partial-clone.sh: test_expect_success 'convert shallow clone to partial ' -test_expect_success SHA1,REFFILES 'convert to partial clone with noop extension' ' -+test_expect_success 'convert to partial clone with noop extension' ' ++test_expect_success DEFAULT_REPO_FORMAT 'convert to partial clone with noop extension' ' rm -fr server client && test_create_repo server && test_commit -C server my_commit 1 && - test_commit -C server my_commit2 1 && - git clone --depth=1 "file://$(pwd)/server" client && -- test_cmp_config -C client 0 core.repositoryformatversion && - git -C client config extensions.noop true && +@@ t/t0410-partial-clone.sh: test_expect_success SHA1,REFFILES 'convert to partial clone with noop extension' git -C client fetch --unshallow --filter="blob:none" ' -test_expect_success SHA1,REFFILES 'converting to partial clone fails with unrecognized extension' ' -+test_expect_success 'converting to partial clone fails with unrecognized extension' ' ++test_expect_success DEFAULT_REPO_FORMAT 'converting to partial clone fails with unrecognized extension' ' rm -fr server client && test_create_repo server && test_commit -C server my_commit 1 && - test_commit -C server my_commit2 1 && - git clone --depth=1 "file://$(pwd)/server" client && -- test_cmp_config -C client 0 core.repositoryformatversion && - git -C client config extensions.nonsense true && - test_must_fail git -C client fetch --unshallow --filter="blob:none" - ' 3: 9d8eed354e = 3: ed57913eb9 t1400: exercise reflog with gaps with reftable backend 4: 70c6f98012 = 4: 212949689f t1404: make D/F conflict tests compatible with reftable backend 5: 25cf00c36f = 5: 67d6aede63 t1405: remove unneeded cleanup step 6: 64d2548bbc = 6: 24051cc246 t2011: exercise D/F conflicts with HEAD with the reftable backend 7: 7adf510f73 = 7: 8fb6de37ce t7003: ensure filter-branch prunes reflogs with the reftable backend base-commit: 4fc51f00ef18d2c0174ab2fd39d0ee473fd144bd -- 2.44.0-rc0