summaryrefslogtreecommitdiff
path: root/transport-helper.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-02-25 23:40:19 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-02-25 23:40:20 (GMT)
commitbe94b339b698cf3ac869ef9666b82b75032add3a (patch)
treea337671fae7ae9afb5cb54d77a24d711f3c76867 /transport-helper.c
parent33a2eeaeade52afee9fb9ffdd2ae995acf3b7e4e (diff)
parentaab1beb0e1a66d31b0a9896e8c13009dece0aa45 (diff)
downloadgit-be94b339b698cf3ac869ef9666b82b75032add3a.zip
git-be94b339b698cf3ac869ef9666b82b75032add3a.tar.gz
git-be94b339b698cf3ac869ef9666b82b75032add3a.tar.bz2
Merge branch 'mh/transport-capabilities'
The transport-helper did not give transport options such as verbosity, progress, cloning, etc. to import and export based helpers, like it did for fetch and push based helpers, robbing them the chance to honor the wish of the end-users better. * mh/transport-capabilities: transport-helper: ask the helper to set the same options for import as for fetch transport-helper: ask the helper to set progress and verbosity options after asking for its capabilities
Diffstat (limited to 'transport-helper.c')
-rw-r--r--transport-helper.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/transport-helper.c b/transport-helper.c
index 7dc4a44..5d99a6b 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -97,6 +97,8 @@ static void do_take_over(struct transport *transport)
free(data);
}
+static void standard_options(struct transport *t);
+
static struct child_process *get_helper(struct transport *transport)
{
struct helper_data *data = transport->data;
@@ -211,6 +213,7 @@ static struct child_process *get_helper(struct transport *transport)
strbuf_release(&buf);
if (debug)
fprintf(stderr, "Debug: Capabilities complete.\n");
+ standard_options(transport);
return data->helper;
}
@@ -338,17 +341,6 @@ static int fetch_with_fetch(struct transport *transport,
int i;
struct strbuf buf = STRBUF_INIT;
- standard_options(transport);
- 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 +614,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);
@@ -826,7 +828,6 @@ static int push_refs_with_push(struct transport *transport,
return 0;
}
- standard_options(transport);
for_each_string_list_item(cas_option, &cas_options)
set_helper_option(transport, "cas", cas_option->string);