Re: [PATCH v2 4/4] bundle: show progress on "unbundle"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

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.

> +
> +	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.

Thanks,
-Stolee



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux