]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/t0410-partial-clone.sh
The sixth batch
[thirdparty/git.git] / t / t0410-partial-clone.sh
index a3988bd4b8c893de246d12bf88e776c633550e24..463dc3a8be0857d7a3ac7933a8824389f8528dc7 100755 (executable)
@@ -30,6 +30,29 @@ test_expect_success 'extensions.partialclone without filter' '
        git -C client fetch origin
 '
 
+test_expect_success 'convert shallow clone to partial clone' '
+       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 &&
+       git -C client fetch --unshallow --filter="blob:none" &&
+       test_cmp_config -C client true remote.origin.promisor &&
+       test_cmp_config -C client blob:none remote.origin.partialclonefilter &&
+       test_cmp_config -C client 1 core.repositoryformatversion
+'
+
+test_expect_success 'convert shallow clone to partial clone must fail with any 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.partialclone origin &&
+       test_must_fail git -C client fetch --unshallow --filter="blob:none"
+'
+
 test_expect_success 'missing reflog object, but promised by a commit, passes fsck' '
        rm -rf repo &&
        test_create_repo repo &&