[PATCH v2 4/4] bundle: show progress on "unbundle"
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Aug 23, 2021, 11:02 UTC
- Message-ID
- <patch-v2-4.4-e4ca8b26962-20210823T110136Z-avarab@gmail.com>
- In-Reply-To
- <cover-v2-0.4-00000000000-20210823T110136Z-avarab@gmail.com>
The "unbundle" command added in 2e0afafebd8 (Add git-bundle: move objects and references by archive, 2007-02-22) did not show progress output, even though the underlying API learned how to show progress in be042aff24c (Teach progress eye-candy to fetch_refs_from_bundle(), 2011-09-18).
Now we'll show "Unbundling objects" using the new --progress-title option to "git index-pack", to go with its existing "Receiving objects" and "Indexing objects" (which it shows when invoked with "--stdin", and with a pack file, respectively).
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> --- builtin/bundle.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/builtin/bundle.c b/builtin/bundle.c index 10f6f45770a..f027cce3fef 100644 --- a/builtin/bundle.c +++ b/builtin/bundle.c @@ -162,7 +162,11 @@ static int cmd_bundle_unbundle(int argc, const char **argv, const char *prefix) struct bundle_header header = BUNDLE_HEADER_INIT; int bundle_fd = -1; int ret; + int progress = isatty(2); + struct option options[] = { + OPT_BOOL(0, "progress", &progress, + N_("show progress meter")), OPT_END() }; char* bundle_file; @@ -178,6 +182,13 @@ static int cmd_bundle_unbundle(int argc, const char **argv, const char *prefix) } if (!startup_info->have_repository) die(_("Need a repository to unbundle.")); + + if (progress) { + strvec_push(&extra_args, "-v"); + strvec_push(&extra_args, "--progress-title"); + strvec_push(&extra_args, _("Unbundling objects")); + } + ret = !!unbundle(the_repository, &header, bundle_fd, &extra_args) || list_bundle_refs(&header, argc, argv); bundle_header_release(&header);
-- 2.33.0.662.g438caf9576d