diff options
author | Matheus Tavares <matheus.bernardino@usp.br> | 2021-08-26 22:10:06 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-08-27 09:15:33 +0300 |
commit | 7a132c628e57b9bceeb88832ea051395c0637b16 (patch) | |
tree | 4091c7cac1642aebc146a47af1b3894da10c7b75 /entry.c | |
parent | 225bc32a989d7a22fa6addafd4ce7dcd04675dbf (diff) |
checkout: make delayed checkout respect --quiet and --no-progress
The 'Filtering contents...' progress report from delayed checkout is
displayed even when checkout and clone are invoked with --quiet or
--no-progress. Furthermore, it is displayed unconditionally, without
first checking whether stdout is a tty. Let's fix these issues and also
add some regression tests for the two code paths that currently use
delayed checkout: unpack_trees.c:check_updates() and
builtin/checkout.c:checkout_worktree().
Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'entry.c')
-rw-r--r-- | entry.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -159,7 +159,8 @@ static int remove_available_paths(struct string_list_item *item, void *cb_data) return !available; } -int finish_delayed_checkout(struct checkout *state, int *nr_checkouts) +int finish_delayed_checkout(struct checkout *state, int *nr_checkouts, + int show_progress) { int errs = 0; unsigned delayed_object_count; @@ -173,7 +174,9 @@ int finish_delayed_checkout(struct checkout *state, int *nr_checkouts) dco->state = CE_RETRY; delayed_object_count = dco->paths.nr; - progress = start_delayed_progress(_("Filtering content"), delayed_object_count); + progress = show_progress + ? start_delayed_progress(_("Filtering content"), delayed_object_count) + : NULL; while (dco->filters.nr > 0) { for_each_string_list_item(filter, &dco->filters) { struct string_list available_paths = STRING_LIST_INIT_NODUP; |