@@ -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);
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(+)