fetch: support filters
[gitweb.git] / upload-pack.c
index e6d38b9ca06797ab369b0f583a79ced3ecdbf128..15b66051ce9a03aabb1b57f3839235f2ad9bdfb3 100644 (file)
@@ -139,10 +139,15 @@ static void create_pack_file(void)
        if (use_include_tag)
                argv_array_push(&pack_objects.args, "--include-tag");
        if (filter_options.filter_spec) {
-               struct strbuf buf = STRBUF_INIT;
-               sq_quote_buf(&buf, filter_options.filter_spec);
-               argv_array_pushf(&pack_objects.args, "--filter=%s", buf.buf);
-               strbuf_release(&buf);
+               if (pack_objects.use_shell) {
+                       struct strbuf buf = STRBUF_INIT;
+                       sq_quote_buf(&buf, filter_options.filter_spec);
+                       argv_array_pushf(&pack_objects.args, "--filter=%s", buf.buf);
+                       strbuf_release(&buf);
+               } else {
+                       argv_array_pushf(&pack_objects.args, "--filter=%s",
+                                        filter_options.filter_spec);
+               }
        }
 
        pack_objects.in = -1;