diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2013-07-21 15:18:05 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-07-23 12:18:18 -0700 |
commit | 9ba380481cc3a5ae7706763d71cf8844917ed804 (patch) | |
tree | 44a1f26052d15dfc349e0edc34df0117cb0595e7 /remote-curl.c | |
parent | c6807a40dcd29f7e5ad1e2f4fc44f1729c9afa11 (diff) | |
download | git-9ba380481cc3a5ae7706763d71cf8844917ed804.tar.gz |
smart http: use the same connectivity check on cloningnd/clone-connectivity-shortcut
This is an extension of c6807a4 (clone: open a shortcut for
connectivity check - 2013-05-26) to reduce the cost of connectivity
check at clone time, this time with smart http protocol.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'remote-curl.c')
-rw-r--r-- | remote-curl.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/remote-curl.c b/remote-curl.c index 60eda63081..c3157e877b 100644 --- a/remote-curl.c +++ b/remote-curl.c @@ -15,6 +15,7 @@ struct options { int verbosity; unsigned long depth; unsigned progress : 1, + check_self_contained_and_connected : 1, followtags : 1, dry_run : 1, thin : 1; @@ -66,6 +67,15 @@ static int set_option(const char *name, const char *value) return -1; return 0; } + else if (!strcmp(name, "check-connectivity")) { + if (!strcmp(value, "true")) + options.check_self_contained_and_connected = 1; + else if (!strcmp(value, "false")) + options.check_self_contained_and_connected = 0; + else + return -1; + return 0; + } else { return 1 /* unsupported */; } @@ -653,7 +663,7 @@ static int fetch_git(struct discovery *heads, struct strbuf preamble = STRBUF_INIT; char *depth_arg = NULL; int argc = 0, i, err; - const char *argv[15]; + const char *argv[16]; argv[argc++] = "fetch-pack"; argv[argc++] = "--stateless-rpc"; @@ -667,6 +677,8 @@ static int fetch_git(struct discovery *heads, argv[argc++] = "-v"; argv[argc++] = "-v"; } + if (options.check_self_contained_and_connected) + argv[argc++] = "--check-self-contained-and-connected"; if (!options.progress) argv[argc++] = "--no-progress"; if (options.depth) { @@ -939,6 +951,7 @@ int main(int argc, const char **argv) printf("fetch\n"); printf("option\n"); printf("push\n"); + printf("check-connectivity\n"); printf("\n"); fflush(stdout); } else { |