]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/t5616-partial-clone.sh
upload-pack.c: allow banning certain object filter(s)
[thirdparty/git.git] / t / t5616-partial-clone.sh
index 8a27452a51159b51922ff64fffab4b801a20b9db..1fff4ff3a950dd2f01768e017c7a79467613ba8b 100755 (executable)
@@ -235,6 +235,30 @@ test_expect_success 'implicitly construct combine: filter with repeated flags' '
        test_cmp unique_types.expected unique_types.actual
 '
 
+test_expect_success 'upload-pack fails banned object filters' '
+       test_config -C srv.bare uploadpackfilter.blob:none.allow false &&
+       test_must_fail ok=sigpipe git clone --no-checkout --filter=blob:none \
+               "file://$(pwd)/srv.bare" pc3 2>err &&
+       grep "filter '\''blob:none'\'' not supported" err
+'
+
+test_expect_success 'upload-pack fails banned combine object filters' '
+       test_config -C srv.bare uploadpackfilter.allow false &&
+       test_config -C srv.bare uploadpackfilter.combine.allow true &&
+       test_config -C srv.bare uploadpackfilter.tree.allow true &&
+       test_config -C srv.bare uploadpackfilter.blob:none.allow false &&
+       test_must_fail ok=sigpipe git clone --no-checkout --filter=tree:1 \
+               --filter=blob:none "file://$(pwd)/srv.bare" pc3 2>err &&
+       grep "filter '\''blob:none'\'' not supported" err
+'
+
+test_expect_success 'upload-pack fails banned object filters with fallback' '
+       test_config -C srv.bare uploadpackfilter.allow false &&
+       test_must_fail ok=sigpipe git clone --no-checkout --filter=blob:none \
+               "file://$(pwd)/srv.bare" pc3 2>err &&
+       grep "filter '\''blob:none'\'' not supported" err
+'
+
 test_expect_success 'partial clone fetches blobs pointed to by refs even if normally filtered out' '
        rm -rf src dst &&
        git init src &&