From: Junio C Hamano Date: Fri, 9 Sep 2016 04:49:50 +0000 (-0700) Subject: Merge branch 'sb/submodule-clone-rr' X-Git-Tag: v2.11.0-rc0~172 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/02c6c14d6c304f094b680f583a1dd6e4fe75736c?hp=--cc Merge branch 'sb/submodule-clone-rr' "git clone --resurse-submodules --reference $path $URL" is a way to reduce network transfer cost by borrowing objects in an existing $path repository when cloning the superproject from $URL; it learned to also peek into $path for presense of corresponding repositories of submodules and borrow objects from there when able. * sb/submodule-clone-rr: clone: recursive and reference option triggers submodule alternates clone: implement optional references clone: clarify option_reference as required clone: factor out checking for an alternate path submodule--helper update-clone: allow multiple references submodule--helper module-clone: allow multiple references t7408: merge short tests, factor out testing method t7408: modernize style --- 02c6c14d6c304f094b680f583a1dd6e4fe75736c diff --cc builtin/submodule--helper.c index e79790f0bd,a3667578b4..9d79f1994a --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@@ -442,9 -442,10 +442,9 @@@ static int module_name(int argc, const } static int clone_submodule(const char *path, const char *gitdir, const char *url, - const char *depth, const char *reference, int quiet) + const char *depth, struct string_list *reference, int quiet) { - struct child_process cp; - child_process_init(&cp); + struct child_process cp = CHILD_PROCESS_INIT; argv_array_push(&cp.args, "clone"); argv_array_push(&cp.args, "--no-checkout");