]> git.ipfire.org Git - thirdparty/git.git/commitdiff
submodule: add --progress option to add command
authorCasey Fitzpatrick <kcghost@gmail.com>
Thu, 3 May 2018 10:53:45 +0000 (06:53 -0400)
committerJunio C Hamano <gitster@pobox.com>
Tue, 22 May 2018 03:17:10 +0000 (12:17 +0900)
The '--progress' was introduced in 72c5f88311d (clone: pass --progress
decision to recursive submodules, 2016-09-22) to fix the progress reporting
of the clone command. Also add the progress option to the 'submodule add'
command. The update command already supports the progress flag, but it
is not documented.

Signed-off-by: Casey Fitzpatrick <kcghost@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-submodule.txt
git-submodule.sh
t/t7400-submodule-basic.sh

index 71c5618e82aacc8616522a6f498b1172910890e4..d1ebe32e843bcf43b40b2d720f853e4ab10b1465 100644 (file)
@@ -239,6 +239,13 @@ OPTIONS
 --quiet::
        Only print error messages.
 
+--progress::
+       This option is only valid for add and update commands.
+       Progress status is reported on the standard error stream
+       by default when it is attached to a terminal, unless -q
+       is specified. This flag forces progress status even if the
+       standard error stream is not directed to a terminal.
+
 --all::
        This option is only valid for the deinit command. Unregister all
        submodules in the working tree.
index 2625479684266c3e453de56c73e9e1b4dc23e08e..39c241a1d898f2de2c3b09da9a5cf128ee14e5f8 100755 (executable)
@@ -117,6 +117,9 @@ cmd_add()
                -q|--quiet)
                        GIT_QUIET=1
                        ;;
+               --progress)
+                       progress=1
+                       ;;
                --reference)
                        case "$2" in '') usage ;; esac
                        reference_path=$2
@@ -255,7 +258,7 @@ or you are unsure what this means choose another name with the '--name' option."
                                eval_gettextln "Reactivating local git directory for submodule '\$sm_name'."
                        fi
                fi
-               git submodule--helper clone ${GIT_QUIET:+--quiet} --prefix "$wt_prefix" --path "$sm_path" --name "$sm_name" --url "$realrepo" ${reference:+"$reference"} ${depth:+"$depth"} || exit
+               git submodule--helper clone ${GIT_QUIET:+--quiet} ${progress:+"--progress"} --prefix "$wt_prefix" --path "$sm_path" --name "$sm_name" --url "$realrepo" ${reference:+"$reference"} ${depth:+"$depth"} || exit
                (
                        sanitize_submodule_env
                        cd "$sm_path" &&
index a39e69a3ebd1c39ddf8feb861f8a39c8315aa7f8..b5b4922aba72d18c221571a1523d3d5785923797 100755 (executable)
@@ -126,6 +126,22 @@ test_expect_success 'submodule add' '
        test_cmp empty untracked
 '
 
+test_create_repo parent &&
+test_commit -C parent one
+
+test_expect_success 'redirected submodule add does not show progress' '
+       git -C addtest submodule add "file://$submodurl/parent" submod-redirected \
+               2>err &&
+       ! grep % err &&
+       test_i18ngrep ! "Checking connectivity" err
+'
+
+test_expect_success 'redirected submodule add --progress does show progress' '
+       git -C addtest submodule add --progress "file://$submodurl/parent" \
+               submod-redirected-progress 2>err && \
+       grep % err
+'
+
 test_expect_success 'submodule add to .gitignored path fails' '
        (
                cd addtest-ignore &&