clone: treat "checking connectivity" like other progress

When stderr does not point to a tty, we typically suppress "we are now in this phase" progress reporting (e.g., we ask the server not to send us "counting objects" and the like). The new "checking connectivity" message is in the same vein, and should be suppressed. Since clone relies on the transport code to make the decision, we can simply sneak a peek at the "progress" field of the transport struct. That properly takes into account both the verbosity and progress options we were given, as well as the result of isatty(). Note that we do not set up that progress flag for a local clone, as we do not fetch using the transport at all. That's acceptable here, though, because we also do not perform a connectivity check in that case. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jeff King committed Sep 18, 2013 at 16:06 UTC 2856cbf0ae604c233e7dc62ba7931a469165ce4f
2 files changed +4 -3
builtin/clone.c
+2 -2
@@ -551,12 +551,12 @@ static void update_remote_refs(const struct ref *refs,
551 const struct ref *rm = mapped_refs;
552
553 if (check_connectivity) {
554 - if (0 <= option_verbosity)
554 + if (transport->progress)
555 fprintf(stderr, _("Checking connectivity... "));
556 if (check_everything_connected_with_transport(iterate_ref_map,
557 0, &rm, transport))
558 die(_("remote did not send all necessary objects"));
559 - if (0 <= option_verbosity)
559 + if (transport->progress)
560 fprintf(stderr, _("done\n"));
561 }
562
t/t5702-clone-options.sh
+2 -1
@@ -22,7 +22,8 @@ test_expect_success 'clone -o' '
22 test_expect_success 'redirected clone does not show progress' '
23
24 git clone "file://$(pwd)/parent" clone-redirected >out 2>err &&
25 - ! grep % err
25 + ! grep % err &&
26 + test_i18ngrep ! "Checking connectivity" err
27
28 '
29