[PATCH 06/12] check_connected: add progress flag
From: Jeff King <hidden>
Date: 2016-07-15 10:32:34
Subsystem:
the rest · Maintainer:
Linus Torvalds
Connectivity checks have to traverse the entire object graph in the worst case (e.g., a full clone or a full push). For large repositories like linux.git, this can take 30-60 seconds, during which time git may produce little or no output. Let's add the option of showing progress, which is taken care of by rev-list. Signed-off-by: Jeff King <redacted> --- connected.c | 3 +++ connected.h | 3 +++ 2 files changed, 6 insertions(+)
diff --git a/connected.c b/connected.c
index 5f5c8bd..8e3e4b1 100644
--- a/connected.c
+++ b/connected.c@@ -58,6 +58,9 @@ int check_connected(sha1_iterate_fn fn, void *cb_data, argv_array_push(&rev_list.args, "--not"); argv_array_push(&rev_list.args, "--all"); argv_array_push(&rev_list.args, "--quiet"); + if (opt->progress) + argv_array_pushf(&rev_list.args, "--progress=%s", + _("Checking connectivity")); rev_list.git_cmd = 1; rev_list.in = -1;
diff --git a/connected.h b/connected.h
index 5d88e26..afa48cc 100644
--- a/connected.h
+++ b/connected.h@@ -30,6 +30,9 @@ struct check_connected_options { * returns. */ int err_fd; + + /* If non-zero, show progress as we traverse the objects. */ + int progress; }; #define CHECK_CONNECTED_INIT { 0 }
--
2.9.1.434.g748be50