* [PATCH] delta-islands: respect progress flag
@ 2019-06-20 8:58 Jeff King
2019-06-20 12:42 ` Derrick Stolee
0 siblings, 1 reply; 2+ messages in thread
From: Jeff King @ 2019-06-20 8:58 UTC (permalink / raw)
To: git
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>
---
Arguably this should be a real progress meter that counts up, but I'm
not sure what it should be counting. Refs we analyzed? Islands found?
Unless you have a ton of refs, it doesn't really matter, so I just
punted on that part for now and only fixed the egregious bug. :)
builtin/pack-objects.c | 2 +-
delta-islands.c | 5 +++--
delta-islands.h | 2 +-
3 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index b2be8869c2..698c901523 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -3134,7 +3134,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"));
diff --git a/delta-islands.c b/delta-islands.c
index 2186bd0738..b959f6c380 100644
--- a/delta-islands.c
+++ b/delta-islands.c
@@ -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)
diff --git a/delta-islands.h b/delta-islands.h
index 3ac8045d8c..eb0f952629 100644
--- a/delta-islands.h
+++ b/delta-islands.h
@@ -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);
--
2.22.0.732.g5402924b4b
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] delta-islands: respect progress flag
2019-06-20 8:58 [PATCH] delta-islands: respect progress flag Jeff King
@ 2019-06-20 12:42 ` Derrick Stolee
0 siblings, 0 replies; 2+ messages in thread
From: Derrick Stolee @ 2019-06-20 12:42 UTC (permalink / raw)
To: Jeff King, git
On 6/20/2019 4:58 AM, Jeff King wrote:
> 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>
> ---
> Arguably this should be a real progress meter that counts up, but I'm
> not sure what it should be counting. Refs we analyzed? Islands found?
> Unless you have a ton of refs, it doesn't really matter, so I just
> punted on that part for now and only fixed the egregious bug. :)
I agree that the first goal should be to stop writing 'progress' output
to stderr when progress is disabled. Changing this to a full progress
indicator can be done on top of this patch later (without changing the
method prototypes again) if desired.
LGTM.
-Stolee
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-06-20 12:42 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-20 8:58 [PATCH] delta-islands: respect progress flag Jeff King
2019-06-20 12:42 ` Derrick Stolee
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).