Browse Source

Merge branch 'jv/upload-pack-filter-spec-quotefix'

Fix in passing custom args from "git clone" to "upload-pack" on the
other side.

* jv/upload-pack-filter-spec-quotefix:
  t5544: clarify 'hook works with partial clone' test
  upload-pack.c: fix filter spec quoting bug
maint
Junio C Hamano 4 years ago
parent
commit
60f8121940
  1. 10
      t/t5544-pack-objects-hook.sh
  2. 9
      upload-pack.c

10
t/t5544-pack-objects-hook.sh

@ -59,4 +59,14 @@ test_expect_success 'hook does not run from repo config' ' @@ -59,4 +59,14 @@ test_expect_success 'hook does not run from repo config' '
test_path_is_missing .git/hook.stdout
'

test_expect_success 'hook works with partial clone' '
clear_hook_results &&
test_config_global uploadpack.packObjectsHook ./hook &&
test_config_global uploadpack.allowFilter true &&
git clone --bare --no-local --filter=blob:none . dst.git &&
git -C dst.git rev-list --objects --missing=allow-any --no-object-names --all >objects &&
git -C dst.git cat-file --batch-check="%(objecttype)" <objects >types &&
! grep blob types
'

test_done

9
upload-pack.c

@ -305,14 +305,7 @@ static void create_pack_file(struct upload_pack_data *pack_data, @@ -305,14 +305,7 @@ static void create_pack_file(struct upload_pack_data *pack_data,
if (pack_data->filter_options.choice) {
const char *spec =
expand_list_objects_filter_spec(&pack_data->filter_options);
if (pack_objects.use_shell) {
struct strbuf buf = STRBUF_INIT;
sq_quote_buf(&buf, spec);
strvec_pushf(&pack_objects.args, "--filter=%s", buf.buf);
strbuf_release(&buf);
} else {
strvec_pushf(&pack_objects.args, "--filter=%s", spec);
}
strvec_pushf(&pack_objects.args, "--filter=%s", spec);
}
if (uri_protocols) {
for (i = 0; i < uri_protocols->nr; i++)

Loading…
Cancel
Save