delta-islands: respect progress flag
authorJeff King <peff@peff.net>
Thu, 20 Jun 2019 08:58:32 +0000 (04:58 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 20 Jun 2019 20:29:49 +0000 (13:29 -0700)
The delta island code always prints "Marked %d islands", even if
progress has been suppressed with --no-progress or by sending stderr to
a non-tty.

Let's pass a progress boolean to load_delta_islands(). We already do
the same thing for the progress meter in resolve_tree_islands().

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/pack-objects.c
delta-islands.c
delta-islands.h

index a9fac7c..15f90af 100644 (file)
@@ -3131,7 +3131,7 @@ static void get_object_list(int ac, const char **av)
                return;
 
        if (use_delta_islands)
-               load_delta_islands(the_repository);
+               load_delta_islands(the_repository, progress);
 
        if (prepare_revision_walk(&revs))
                die(_("revision walk setup failed"));
index 2186bd0..b959f6c 100644 (file)
@@ -454,7 +454,7 @@ static void deduplicate_islands(struct repository *r)
        free(list);
 }
 
-void load_delta_islands(struct repository *r)
+void load_delta_islands(struct repository *r, int progress)
 {
        island_marks = kh_init_sha1();
        remote_islands = kh_init_str();
@@ -463,7 +463,8 @@ void load_delta_islands(struct repository *r)
        for_each_ref(find_island_for_ref, NULL);
        deduplicate_islands(r);
 
-       fprintf(stderr, _("Marked %d islands, done.\n"), island_counter);
+       if (progress)
+               fprintf(stderr, _("Marked %d islands, done.\n"), island_counter);
 }
 
 void propagate_island_marks(struct commit *commit)
index 3ac8045..eb0f952 100644 (file)
@@ -11,7 +11,7 @@ int in_same_island(const struct object_id *, const struct object_id *);
 void resolve_tree_islands(struct repository *r,
                          int progress,
                          struct packing_data *to_pack);
-void load_delta_islands(struct repository *r);
+void load_delta_islands(struct repository *r, int progress);
 void propagate_island_marks(struct commit *commit);
 int compute_pack_layers(struct packing_data *to_pack);