diff options
-rw-r--r-- | Documentation/git-bundle.txt | 18 | ||||
-rw-r--r-- | builtin/bundle.c | 15 | ||||
-rwxr-xr-x | t/t6020-bundle-misc.sh | 13 |
3 files changed, 22 insertions, 24 deletions
diff --git a/Documentation/git-bundle.txt b/Documentation/git-bundle.txt index 18a022b4b4..a4227b6561 100644 --- a/Documentation/git-bundle.txt +++ b/Documentation/git-bundle.txt @@ -9,7 +9,7 @@ git-bundle - Move objects and refs by archive SYNOPSIS -------- [verse] -'git bundle' create [-q | --quiet | --progress | --all-progress] [--all-progress-implied] +'git bundle' create [-q | --quiet | --progress] [--version=<version>] <file> <git-rev-list-args> 'git bundle' verify [-q | --quiet] <file> 'git bundle' list-heads <file> [<refname>...] @@ -115,22 +115,6 @@ unbundle <file>:: is specified. This flag forces progress status even if the standard error stream is not directed to a terminal. ---all-progress:: - When --stdout is specified then progress report is - displayed during the object count and compression phases - but inhibited during the write-out phase. The reason is - that in some cases the output stream is directly linked - to another command which may wish to display progress - status of its own as it processes incoming pack data. - This flag is like --progress except that it forces progress - report for the write-out phase as well even if --stdout is - used. - ---all-progress-implied:: - This is used to imply --all-progress whenever progress display - is activated. Unlike --all-progress this flag doesn't actually - force any progress display by itself. - --version=<version>:: Specify the bundle version. Version 2 is the older format and can only be used with SHA-1 repositories; the newer version 3 contains capabilities that diff --git a/builtin/bundle.c b/builtin/bundle.c index acceef6200..c2b916e027 100644 --- a/builtin/bundle.c +++ b/builtin/bundle.c @@ -12,7 +12,7 @@ */ #define BUILTIN_BUNDLE_CREATE_USAGE \ - N_("git bundle create [-q | --quiet | --progress | --all-progress] [--all-progress-implied]\n" \ + N_("git bundle create [-q | --quiet | --progress]\n" \ " [--version=<version>] <file> <git-rev-list-args>") #define BUILTIN_BUNDLE_VERIFY_USAGE \ N_("git bundle verify [-q | --quiet] <file>") @@ -64,7 +64,7 @@ static int parse_options_cmd_bundle(int argc, } static int cmd_bundle_create(int argc, const char **argv, const char *prefix) { - int all_progress_implied = 0; + int all_progress_implied = 1; int progress = isatty(STDERR_FILENO); struct strvec pack_opts; int version = -1; @@ -74,11 +74,12 @@ static int cmd_bundle_create(int argc, const char **argv, const char *prefix) { N_("do not show progress meter"), 0), OPT_SET_INT(0, "progress", &progress, N_("show progress meter"), 1), - OPT_SET_INT(0, "all-progress", &progress, - N_("show progress meter during object writing phase"), 2), - OPT_BOOL(0, "all-progress-implied", - &all_progress_implied, - N_("similar to --all-progress when progress meter is shown")), + OPT_SET_INT_F(0, "all-progress", &progress, + N_("historical; same as --progress"), 2, + PARSE_OPT_HIDDEN), + OPT_HIDDEN_BOOL(0, "all-progress-implied", + &all_progress_implied, + N_("historical; does nothing")), OPT_INTEGER(0, "version", &version, N_("specify bundle format version")), OPT_END() diff --git a/t/t6020-bundle-misc.sh b/t/t6020-bundle-misc.sh index 3a1cf30b1d..6b905e1b83 100755 --- a/t/t6020-bundle-misc.sh +++ b/t/t6020-bundle-misc.sh @@ -10,6 +10,7 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME . ./test-lib.sh . "$TEST_DIRECTORY"/lib-bundle.sh +. "$TEST_DIRECTORY"/lib-terminal.sh for cmd in create verify list-heads unbundle do @@ -566,4 +567,16 @@ test_expect_success 'cloning from filtered bundle has useful error' ' grep "cannot clone from filtered bundle" err ' +test_expect_success 'bundle progress includes write phase' ' + GIT_PROGRESS_DELAY=0 \ + git bundle create --progress out.bundle --all 2>err && + grep 'Writing' err +' + +test_expect_success TTY 'create --quiet disables all bundle progress' ' + test_terminal env GIT_PROGRESS_DELAY=0 \ + git bundle create --quiet out.bundle --all 2>err && + test_must_be_empty err +' + test_done |