From: Mike Hommey Date: Fri, 13 Feb 2015 05:24:46 +0000 (+0900) Subject: transport-helper: ask the helper to set the same options for import as for fetch X-Git-Tag: v2.4.0-rc0~83^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/aab1beb0e1a66d31b0a9896e8c13009dece0aa45?ds=sidebyside;hp=2879bc3b0c3acc89f0415ac0d0e3946599d9fc88 transport-helper: ask the helper to set the same options for import as for fetch A remote helper is currently only told about the 'check-connectivity', 'cloning', and 'update-shallow' options when it supports the 'fetch' command, but not when it supports 'import' instead. This is especially important for the 'cloning' option, because it means a remote helper that only supports 'import' can't distinguish between a clone and a pull besides doing some assumptions from the git directory state. Signed-off-by: Mike Hommey Signed-off-by: Junio C Hamano --- diff --git a/transport-helper.c b/transport-helper.c index 23a741c60d..c3868e4531 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -342,16 +342,6 @@ static int fetch_with_fetch(struct transport *transport, int i; struct strbuf buf = STRBUF_INIT; - if (data->check_connectivity && - data->transport_options.check_self_contained_and_connected) - set_helper_option(transport, "check-connectivity", "true"); - - if (transport->cloning) - set_helper_option(transport, "cloning", "true"); - - if (data->transport_options.update_shallow) - set_helper_option(transport, "update-shallow", "true"); - for (i = 0; i < nr_heads; i++) { const struct ref *posn = to_fetch[i]; if (posn->status & REF_STATUS_UPTODATE) @@ -622,6 +612,16 @@ static int fetch(struct transport *transport, if (!count) return 0; + if (data->check_connectivity && + data->transport_options.check_self_contained_and_connected) + set_helper_option(transport, "check-connectivity", "true"); + + if (transport->cloning) + set_helper_option(transport, "cloning", "true"); + + if (data->transport_options.update_shallow) + set_helper_option(transport, "update-shallow", "true"); + if (data->fetch) return fetch_with_fetch(transport, nr_heads, to_fetch);