summaryrefslogtreecommitdiff
path: root/entry.c
diff options
context:
space:
mode:
authorMatheus Tavares <matheus.bernardino@usp.br>2021-08-26 19:10:06 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-08-27 06:15:33 (GMT)
commit7a132c628e57b9bceeb88832ea051395c0637b16 (patch)
tree4091c7cac1642aebc146a47af1b3894da10c7b75 /entry.c
parent225bc32a989d7a22fa6addafd4ce7dcd04675dbf (diff)
downloadgit-7a132c628e57b9bceeb88832ea051395c0637b16.zip
git-7a132c628e57b9bceeb88832ea051395c0637b16.tar.gz
git-7a132c628e57b9bceeb88832ea051395c0637b16.tar.bz2
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.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/entry.c b/entry.c
index 125fabd..044e8ec 100644
--- a/entry.c
+++ b/entry.c
@@ -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;