On Tue, Aug 24 2021, Derrick Stolee wrote: > On 8/23/2021 7:02 AM, Ævar Arnfjörð Bjarmason wrote: >> 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@xxxxxxxxx> >> --- >> 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")), > > We should probably update Documentation/git-bundle.txt, specifically > the synopsis, which currently reads: > > 'git bundle' create [-q | --quiet | --progress | --all-progress] [--all-progress-implied] > [--version=<version>] <file> <git-rev-list-args> > 'git bundle' verify [-q | --quiet] <file> > 'git bundle' list-heads <file> [<refname>...] > 'git bundle' unbundle <file> [<refname>...] > > Add [--progress] to the unbundle line. The --progress option is > documented further down in the file, although it is confusing > where it applies. Will fix... > What about the --all-progress and --all-progress-implied options? > Reading the docs, it seems that they won't apply to 'unbundle', > but it doesn't hurt to ask. ...and clarify... >> + >> + if (progress) { >> + strvec_push(&extra_args, "-v"); >> + strvec_push(&extra_args, "--progress-title"); >> + strvec_push(&extra_args, _("Unbundling objects")); > > If the previous patch changes to match the --progress-title=X > pattern of the other options in index-pack, then these two lines > will need to change, probably to a strvec_pushf(). > >> + } >> + >> ret = !!unbundle(the_repository, &header, bundle_fd, &extra_args) || > > Since this is the first real use of extra_args, as I mentioned > before it would not be the end of the world to have extra_args > appear for the first time within this patch. Sure, will change it. I figured reducing the size of the subsequent diffs would be better, but will just start by passing NULL.