зеркало из https://github.com/microsoft/git.git
bundle: show progress on "unbundle"
The "unbundle" command added in2e0afafebd
(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 inbe042aff24
(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). Unlike "git bundle create" we don't handle "--quiet" here, nor "--all-progress" and "--all-progress-implied". Those are all specific to "create" (and "verify", in the case of "--quiet"). The structure of the existing documentation is a bit unclear, e.g. the documentation for the "--quiet" option added in79862b6b77
(bundle-create: progress output control, 2019-11-10) only describes how it works for "create", and not for "verify". That and other issues in it should be fixed, but I'd like to avoid untangling that mess right now. Let's just support the standard "--no-progress" implicitly here, and leave cleaning up the general behavior of "git bundle" for a later change. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
f46c46e4f2
Коммит
d941cc4c34
|
@ -13,7 +13,7 @@ SYNOPSIS
|
|||
[--version=<version>] <file> <git-rev-list-args>
|
||||
'git bundle' verify [-q | --quiet] <file>
|
||||
'git bundle' list-heads <file> [<refname>...]
|
||||
'git bundle' unbundle <file> [<refname>...]
|
||||
'git bundle' unbundle [--progress] <file> [<refname>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
|
|
@ -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,9 @@ 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_pushl(&extra_index_pack_args, "-v", "--progress-title",
|
||||
_("Unbundling objects"), NULL);
|
||||
ret = !!unbundle(the_repository, &header, bundle_fd,
|
||||
&extra_index_pack_args) ||
|
||||
list_bundle_refs(&header, argc, argv);
|
||||
|
|
Загрузка…
Ссылка в новой задаче