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
This commit is contained in:
commit
41dac79c2f
@ -544,6 +544,10 @@ other
|
||||
a pager. See also the `core.pager` option in
|
||||
linkgit:git-config[1].
|
||||
|
||||
`GIT_PROGRESS_DELAY`::
|
||||
A number controlling how many seconds to delay before showing
|
||||
optional progress indicators. Defaults to 2.
|
||||
|
||||
`GIT_EDITOR`::
|
||||
This environment variable overrides `$EDITOR` and `$VISUAL`.
|
||||
It is used by several Git commands when, on interactive mode,
|
||||
|
@ -1100,7 +1100,7 @@ static void compute_generation_numbers(struct write_commit_graph_context *ctx)
|
||||
struct commit_list *list = NULL;
|
||||
|
||||
if (ctx->report_progress)
|
||||
ctx->progress = start_progress(
|
||||
ctx->progress = start_delayed_progress(
|
||||
_("Computing commit graph generation numbers"),
|
||||
ctx->commits.nr);
|
||||
for (i = 0; i < ctx->commits.nr; i++) {
|
||||
|
15
progress.c
15
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)
|
||||
|
@ -132,7 +132,7 @@ test_expect_success 'commit-graph write progress off for redirected stderr' '
|
||||
|
||||
test_expect_success 'commit-graph write force progress on for stderr' '
|
||||
cd "$TRASH_DIRECTORY/full" &&
|
||||
git commit-graph write --progress 2>err &&
|
||||
GIT_PROGRESS_DELAY=0 git commit-graph write --progress 2>err &&
|
||||
test_file_not_empty err
|
||||
'
|
||||
|
||||
@ -150,7 +150,7 @@ test_expect_success 'commit-graph verify progress off for redirected stderr' '
|
||||
|
||||
test_expect_success 'commit-graph verify force progress on for stderr' '
|
||||
cd "$TRASH_DIRECTORY/full" &&
|
||||
git commit-graph verify --progress 2>err &&
|
||||
GIT_PROGRESS_DELAY=0 git commit-graph verify --progress 2>err &&
|
||||
test_file_not_empty err
|
||||
'
|
||||
|
||||
|
@ -103,14 +103,14 @@ test_expect_success 'auto gc with too many loose objects does not attempt to cre
|
||||
'
|
||||
|
||||
test_expect_success 'gc --no-quiet' '
|
||||
git -c gc.writeCommitGraph=true gc --no-quiet >stdout 2>stderr &&
|
||||
GIT_PROGRESS_DELAY=0 git -c gc.writeCommitGraph=true gc --no-quiet >stdout 2>stderr &&
|
||||
test_must_be_empty stdout &&
|
||||
test_line_count = 1 stderr &&
|
||||
test_i18ngrep "Computing commit graph generation numbers" stderr
|
||||
'
|
||||
|
||||
test_expect_success TTY 'with TTY: gc --no-quiet' '
|
||||
test_terminal git -c gc.writeCommitGraph=true gc --no-quiet >stdout 2>stderr &&
|
||||
test_terminal env GIT_PROGRESS_DELAY=0 \
|
||||
git -c gc.writeCommitGraph=true gc --no-quiet >stdout 2>stderr &&
|
||||
test_must_be_empty stdout &&
|
||||
test_i18ngrep "Enumerating objects" stderr &&
|
||||
test_i18ngrep "Computing commit graph generation numbers" stderr
|
||||
|
Loading…
Reference in New Issue
Block a user