aboutsummaryrefslogtreecommitdiffstats
path: root/progress.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2019-12-10 13:11:43 -0800
committerJunio C Hamano <gitster@pobox.com>2019-12-10 13:11:43 -0800
commit41dac79c2f49f9ea1c808f0f208bde9aa4ed91cb (patch)
tree0613e1a536b7af6ed7bf9d108ae3d7ea25976154 /progress.c
parent5dd1d59d35e1d8ea2101020df18298a9675d09b9 (diff)
parentecc0869080701b5e252f74ed7b3d0156a5ec6112 (diff)
downloadgit-41dac79c2f49f9ea1c808f0f208bde9aa4ed91cb.tar.gz
Merge branch 'ds/commit-graph-delay-gen-progress'
One kind of progress messages were always given during commit-graph generation, instead of following the "if it takes more than two seconds, show progress" pattern, which has been corrected. * ds/commit-graph-delay-gen-progress: commit-graph: use start_delayed_progress() progress: create GIT_PROGRESS_DELAY
Diffstat (limited to 'progress.c')
-rw-r--r--progress.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/progress.c b/progress.c
index 0063559aab..19805ac646 100644
--- a/progress.c
+++ b/progress.c
@@ -14,6 +14,7 @@
#include "strbuf.h"
#include "trace.h"
#include "utf8.h"
+#include "config.h"
#define TP_IDX_MAX 8
@@ -267,9 +268,19 @@ static struct progress *start_progress_delay(const char *title, uint64_t total,
return progress;
}
+static int get_default_delay(void)
+{
+ static int delay_in_secs = -1;
+
+ if (delay_in_secs < 0)
+ delay_in_secs = git_env_ulong("GIT_PROGRESS_DELAY", 2);
+
+ return delay_in_secs;
+}
+
struct progress *start_delayed_progress(const char *title, uint64_t total)
{
- return start_progress_delay(title, total, 2, 0);
+ return start_progress_delay(title, total, get_default_delay(), 0);
}
struct progress *start_progress(const char *title, uint64_t total)
@@ -294,7 +305,7 @@ struct progress *start_sparse_progress(const char *title, uint64_t total)
struct progress *start_delayed_sparse_progress(const char *title,
uint64_t total)
{
- return start_progress_delay(title, total, 2, 1);
+ return start_progress_delay(title, total, get_default_delay(), 1);
}
static void finish_if_sparse(struct progress *progress)