{"thread":{"id":"36138","subject":"[PATCH] submodule: add verbose mode for add/update","startedAt":"2014-03-12T13:42:11Z","lastAt":"2020-04-12T06:32:05Z","messageCount":5,"participants":["Orgad Shaneh","Jens Lehmann","Vladimir Nikishkin","Jonathan Nieder"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"236575","messageId":"1394631731-4678-1-git-send-email-orgad.shaneh@audiocodes.com","threadId":"36138","inReplyTo":null,"subject":"[PATCH] submodule: add verbose mode for add/update","fromName":"Orgad Shaneh","fromEmail":"orgads@gmail.com","sentAt":"2014-03-12T13:42:11Z","receivedAt":"2014-03-12T13:42:11Z","isPatch":true,"sender":{"key":"orgads@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1246544?v=4"},"body":"From: Orgad Shaneh <orgads@gmail.com>\n\nExecutes checkout without -q\n\nSigned-off-by: Orgad Shaneh <orgads@gmail.com>\n---\n Documentation/git-submodule.txt |  7 +++++--\n git-submodule.sh                | 24 +++++++++++++++++++-----\n t/t7406-submodule-update.sh     |  9 +++++++++\n 3 files changed, 33 insertions(+), 7 deletions(-)\n\ndiff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt\nindex 21cb59a..1867e94 100644\n--- a/Documentation/git-submodule.txt\n+++ b/Documentation/git-submodule.txt\n@@ -10,13 +10,13 @@ SYNOPSIS\n --------\n [verse]\n 'git submodule' [--quiet] add [-b <branch>] [-f|--force] [--name <name>]\n-\t      [--reference <repository>] [--depth <depth>] [--] <repository> [<path>]\n+\t      [--reference <repository>] [--depth <depth>] [-v|--verbose] [--] <repository> [<path>]\n 'git submodule' [--quiet] status [--cached] [--recursive] [--] [<path>...]\n 'git submodule' [--quiet] init [--] [<path>...]\n 'git submodule' [--quiet] deinit [-f|--force] [--] <path>...\n 'git submodule' [--quiet] update [--init] [--remote] [-N|--no-fetch]\n \t      [-f|--force] [--rebase|--merge|--checkout] [--reference <repository>]\n-\t      [--depth <depth>] [--recursive] [--] [<path>...]\n+\t      [--depth <depth>] [--recursive] [-v|--verbose] [--] [<path>...]\n 'git submodule' [--quiet] summary [--cached|--files] [(-n|--summary-limit) <n>]\n \t      [commit] [--] [<path>...]\n 'git submodule' [--quiet] foreach [--recursive] <command>\n@@ -363,6 +363,9 @@ for linkgit:git-clone[1]'s `--reference` and `--shared` options carefully.\n \tclone with a history truncated to the specified number of revisions.\n \tSee linkgit:git-clone[1]\n \n+--verbose::\n+  This option is valid for add and update commands. Show output of\n+  checkout.\n \n <path>...::\n \tPaths to submodule(s). When specified this will restrict the command\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex a33f68d..5c4e057 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -5,11 +5,11 @@\n # Copyright (c) 2007 Lars Hjemli\n \n dashless=$(basename \"$0\" | sed -e 's/-/ /')\n-USAGE=\"[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>]\n+USAGE=\"[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [-v|--verbose] [--] <repository> [<path>]\n    or: $dashless [--quiet] status [--cached] [--recursive] [--] [<path>...]\n    or: $dashless [--quiet] init [--] [<path>...]\n    or: $dashless [--quiet] deinit [-f|--force] [--] <path>...\n-   or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference <repository>] [--merge] [--recursive] [--] [<path>...]\n+   or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference <repository>] [--merge] [--recursive] [-v|--verbose] [--] [<path>...]\n    or: $dashless [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]\n    or: $dashless [--quiet] foreach [--recursive] <command>\n    or: $dashless [--quiet] sync [--recursive] [--] [<path>...]\"\n@@ -319,12 +319,16 @@ module_clone()\n \trel=$(echo $a | sed -e 's|[^/][^/]*|..|g')\n \t(\n \t\tclear_local_git_env\n+\t\tif test -z \"$verbose\"\n+\t\tthen\n+\t\t\tsubquiet=-q\n+\t\tfi\n \t\tcd \"$sm_path\" &&\n \t\tGIT_WORK_TREE=. git config core.worktree \"$rel/$b\" &&\n \t\t# ash fails to wordsplit ${local_branch:+-B \"$local_branch\"...}\n \t\tcase \"$local_branch\" in\n-\t\t'') git checkout -f -q ${start_point:+\"$start_point\"} ;;\n-\t\t?*) git checkout -f -q -B \"$local_branch\" ${start_point:+\"$start_point\"} ;;\n+\t\t'') git checkout -f $subquiet ${start_point:+\"$start_point\"} ;;\n+\t\t?*) git checkout -f $subquiet -B \"$local_branch\" ${start_point:+\"$start_point\"} ;;\n \t\tesac\n \t) || die \"$(eval_gettext \"Unable to setup cloned submodule '\\$sm_path'\")\"\n }\n@@ -380,6 +384,9 @@ cmd_add()\n \t\t--depth=*)\n \t\t\tdepth=$1\n \t\t\t;;\n+\t\t-v|--verbose)\n+\t\t\tverbose=1\n+\t\t\t;;\n \t\t--)\n \t\t\tshift\n \t\t\tbreak\n@@ -786,6 +793,9 @@ cmd_update()\n \t\t--depth=*)\n \t\t\tdepth=$1\n \t\t\t;;\n+\t\t-v|--verbose)\n+\t\t\tverbose=1\n+\t\t\t;;\n \t\t--)\n \t\t\tshift\n \t\t\tbreak\n@@ -913,7 +923,11 @@ Maybe you want to use 'update --init'?\")\"\n \t\t\tmust_die_on_failure=\n \t\t\tcase \"$update_module\" in\n \t\t\tcheckout)\n-\t\t\t\tcommand=\"git checkout $subforce -q\"\n+\t\t\t\tif test -z \"$verbose\"\n+\t\t\t\tthen\n+\t\t\t\t\tsubquiet=-q\n+\t\t\t\tfi\n+\t\t\t\tcommand=\"git checkout $subforce $subquiet\"\n \t\t\t\tdie_msg=\"$(eval_gettext \"Unable to checkout '\\$sha1' in submodule path '\\$displaypath'\")\"\n \t\t\t\tsay_msg=\"$(eval_gettext \"Submodule path '\\$displaypath': checked out '\\$sha1'\")\"\n \t\t\t\t;;\ndiff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh\nindex 28ca763..04a0fcc 100755\n--- a/t/t7406-submodule-update.sh\n+++ b/t/t7406-submodule-update.sh\n@@ -83,6 +83,15 @@ test_expect_success 'submodule update detaching the HEAD ' '\n \t)\n '\n \n+test_expect_success 'submodule update verbose' '\n+\t(cd super/submodule &&\n+\t git checkout master\n+\t) &&\n+\t(cd super &&\n+\t git submodule update --verbose submodule 2>&1 | grep -q \"HEAD is now at\"\n+\t)\n+'\n+\n test_expect_success 'submodule update from subdirectory' '\n \t(cd super/submodule &&\n \t git reset --hard HEAD~1\n-- \n1.9.0.msysgit.0\n"},{"id":"236581","messageId":"53208836.4050900@web.de","threadId":"36138","inReplyTo":"1394631731-4678-1-git-send-email-orgad.shaneh@audiocodes.com","subject":"Re: [PATCH] submodule: add verbose mode for add/update","fromName":"Jens Lehmann","fromEmail":"jens.lehmann@web.de","sentAt":"2014-03-12T16:15:50Z","receivedAt":"2014-03-12T16:15:50Z","isPatch":true,"sender":{"key":"jens.lehmann@web.de","avatar":"https://avatars.githubusercontent.com/u/135220?v=4"},"body":"Am 12.03.2014 14:42, schrieb Orgad Shaneh:\n> From: Orgad Shaneh <orgads@gmail.com>\n\nYou don't need the line above when you are the sender ;-)\n\n> Executes checkout without -q\n\nThat's a bit terse. What about:\n\n\"Add the verbose flag to add and update which displays the\n progress of the actual submodule checkout when given. This\n is useful for checkouts that take a long time, as the user\n can then see the progress.\"\n\n> Signed-off-by: Orgad Shaneh <orgads@gmail.com>\n> ---\n>  Documentation/git-submodule.txt |  7 +++++--\n>  git-submodule.sh                | 24 +++++++++++++++++++-----\n>  t/t7406-submodule-update.sh     |  9 +++++++++\n>  3 files changed, 33 insertions(+), 7 deletions(-)\n> \n> diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt\n> index 21cb59a..1867e94 100644\n> --- a/Documentation/git-submodule.txt\n> +++ b/Documentation/git-submodule.txt\n> @@ -10,13 +10,13 @@ SYNOPSIS\n>  --------\n>  [verse]\n>  'git submodule' [--quiet] add [-b <branch>] [-f|--force] [--name <name>]\n> -\t      [--reference <repository>] [--depth <depth>] [--] <repository> [<path>]\n> +\t      [--reference <repository>] [--depth <depth>] [-v|--verbose] [--] <repository> [<path>]\n>  'git submodule' [--quiet] status [--cached] [--recursive] [--] [<path>...]\n>  'git submodule' [--quiet] init [--] [<path>...]\n>  'git submodule' [--quiet] deinit [-f|--force] [--] <path>...\n>  'git submodule' [--quiet] update [--init] [--remote] [-N|--no-fetch]\n>  \t      [-f|--force] [--rebase|--merge|--checkout] [--reference <repository>]\n> -\t      [--depth <depth>] [--recursive] [--] [<path>...]\n> +\t      [--depth <depth>] [--recursive] [-v|--verbose] [--] [<path>...]\n>  'git submodule' [--quiet] summary [--cached|--files] [(-n|--summary-limit) <n>]\n>  \t      [commit] [--] [<path>...]\n>  'git submodule' [--quiet] foreach [--recursive] <command>\n> @@ -363,6 +363,9 @@ for linkgit:git-clone[1]'s `--reference` and `--shared` options carefully.\n>  \tclone with a history truncated to the specified number of revisions.\n>  \tSee linkgit:git-clone[1]\n>  \n> +--verbose::\n> +  This option is valid for add and update commands. Show output of\n> +  checkout.\n\nThe above looks whitespace-damaged, you should use TABs here to\nindent (just like the other options do).\n\n>  <path>...::\n>  \tPaths to submodule(s). When specified this will restrict the command\n> diff --git a/git-submodule.sh b/git-submodule.sh\n> index a33f68d..5c4e057 100755\n> --- a/git-submodule.sh\n> +++ b/git-submodule.sh\n> @@ -5,11 +5,11 @@\n>  # Copyright (c) 2007 Lars Hjemli\n>  \n>  dashless=$(basename \"$0\" | sed -e 's/-/ /')\n> -USAGE=\"[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>]\n> +USAGE=\"[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [-v|--verbose] [--] <repository> [<path>]\n>     or: $dashless [--quiet] status [--cached] [--recursive] [--] [<path>...]\n>     or: $dashless [--quiet] init [--] [<path>...]\n>     or: $dashless [--quiet] deinit [-f|--force] [--] <path>...\n> -   or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference <repository>] [--merge] [--recursive] [--] [<path>...]\n> +   or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference <repository>] [--merge] [--recursive] [-v|--verbose] [--] [<path>...]\n>     or: $dashless [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]\n>     or: $dashless [--quiet] foreach [--recursive] <command>\n>     or: $dashless [--quiet] sync [--recursive] [--] [<path>...]\"\n> @@ -319,12 +319,16 @@ module_clone()\n>  \trel=$(echo $a | sed -e 's|[^/][^/]*|..|g')\n>  \t(\n>  \t\tclear_local_git_env\n> +\t\tif test -z \"$verbose\"\n> +\t\tthen\n> +\t\t\tsubquiet=-q\n> +\t\tfi\n>  \t\tcd \"$sm_path\" &&\n>  \t\tGIT_WORK_TREE=. git config core.worktree \"$rel/$b\" &&\n>  \t\t# ash fails to wordsplit ${local_branch:+-B \"$local_branch\"...}\n>  \t\tcase \"$local_branch\" in\n> -\t\t'') git checkout -f -q ${start_point:+\"$start_point\"} ;;\n> -\t\t?*) git checkout -f -q -B \"$local_branch\" ${start_point:+\"$start_point\"} ;;\n> +\t\t'') git checkout -f $subquiet ${start_point:+\"$start_point\"} ;;\n> +\t\t?*) git checkout -f $subquiet -B \"$local_branch\" ${start_point:+\"$start_point\"} ;;\n\nWouldn't it be better to use the ${subquiet:+\"$subquiet\"} notation\nhere like the other optional arguments do? After all the subquiet\nisn't always set.\n\n>  \t\tesac\n>  \t) || die \"$(eval_gettext \"Unable to setup cloned submodule '\\$sm_path'\")\"\n>  }\n> @@ -380,6 +384,9 @@ cmd_add()\n>  \t\t--depth=*)\n>  \t\t\tdepth=$1\n>  \t\t\t;;\n> +\t\t-v|--verbose)\n> +\t\t\tverbose=1\n> +\t\t\t;;\n>  \t\t--)\n>  \t\t\tshift\n>  \t\t\tbreak\n> @@ -786,6 +793,9 @@ cmd_update()\n>  \t\t--depth=*)\n>  \t\t\tdepth=$1\n>  \t\t\t;;\n> +\t\t-v|--verbose)\n> +\t\t\tverbose=1\n> +\t\t\t;;\n>  \t\t--)\n>  \t\t\tshift\n>  \t\t\tbreak\n> @@ -913,7 +923,11 @@ Maybe you want to use 'update --init'?\")\"\n>  \t\t\tmust_die_on_failure=\n>  \t\t\tcase \"$update_module\" in\n>  \t\t\tcheckout)\n> -\t\t\t\tcommand=\"git checkout $subforce -q\"\n> +\t\t\t\tif test -z \"$verbose\"\n> +\t\t\t\tthen\n> +\t\t\t\t\tsubquiet=-q\n> +\t\t\t\tfi\n> +\t\t\t\tcommand=\"git checkout $subforce $subquiet\"\n\nSame as above.\n\n>  \t\t\t\tdie_msg=\"$(eval_gettext \"Unable to checkout '\\$sha1' in submodule path '\\$displaypath'\")\"\n>  \t\t\t\tsay_msg=\"$(eval_gettext \"Submodule path '\\$displaypath': checked out '\\$sha1'\")\"\n>  \t\t\t\t;;\n> diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh\n> index 28ca763..04a0fcc 100755\n> --- a/t/t7406-submodule-update.sh\n> +++ b/t/t7406-submodule-update.sh\n> @@ -83,6 +83,15 @@ test_expect_success 'submodule update detaching the HEAD ' '\n>  \t)\n>  '\n>  \n> +test_expect_success 'submodule update verbose' '\n> +\t(cd super/submodule &&\n> +\t git checkout master\n> +\t) &&\n> +\t(cd super &&\n> +\t git submodule update --verbose submodule 2>&1 | grep -q \"HEAD is now at\"\n\nThis string is translated, so you need to use test_i18ngrep.\nPlease see t7201-co.sh for an example of how to pipe the\noutput into a file and then compare it.\n\n> +\t)\n> +'\n> +\n>  test_expect_success 'submodule update from subdirectory' '\n>  \t(cd super/submodule &&\n>  \t git reset --hard HEAD~1\n> \n"},{"id":"236614","messageId":"CAGHpTBKe4U+or7_hqetu_3o2T0X_50H_Evfgud3XZaAN4ka9-w@mail.gmail.com","threadId":"36138","inReplyTo":"53208836.4050900@web.de","subject":"Re: [PATCH] submodule: add verbose mode for add/update","fromName":"Orgad Shaneh","fromEmail":"orgads@gmail.com","sentAt":"2014-03-12T20:00:34Z","receivedAt":"2014-03-12T20:00:34Z","isPatch":true,"sender":{"key":"orgads@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1246544?v=4"},"body":"On Wed, Mar 12, 2014 at 6:15 PM, Jens Lehmann <Jens.Lehmann@web.de> wrote:\n>\n> Am 12.03.2014 14:42, schrieb Orgad Shaneh:\n> > From: Orgad Shaneh <orgads@gmail.com>\n>\n> You don't need the line above when you are the sender ;-)\n>\n> > Executes checkout without -q\n>\n> That's a bit terse. What about:\n>\n> \"Add the verbose flag to add and update which displays the\n>  progress of the actual submodule checkout when given. This\n>  is useful for checkouts that take a long time, as the user\n>  can then see the progress.\"\n>\n> > Signed-off-by: Orgad Shaneh <orgads@gmail.com>\n> > ---\n> >  Documentation/git-submodule.txt |  7 +++++--\n> >  git-submodule.sh                | 24 +++++++++++++++++++-----\n> >  t/t7406-submodule-update.sh     |  9 +++++++++\n> >  3 files changed, 33 insertions(+), 7 deletions(-)\n> >\n> > diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt\n> > index 21cb59a..1867e94 100644\n> > --- a/Documentation/git-submodule.txt\n> > +++ b/Documentation/git-submodule.txt\n> > @@ -10,13 +10,13 @@ SYNOPSIS\n> >  --------\n> >  [verse]\n> >  'git submodule' [--quiet] add [-b <branch>] [-f|--force] [--name <name>]\n> > -           [--reference <repository>] [--depth <depth>] [--] <repository> [<path>]\n> > +           [--reference <repository>] [--depth <depth>] [-v|--verbose] [--] <repository> [<path>]\n> >  'git submodule' [--quiet] status [--cached] [--recursive] [--] [<path>...]\n> >  'git submodule' [--quiet] init [--] [<path>...]\n> >  'git submodule' [--quiet] deinit [-f|--force] [--] <path>...\n> >  'git submodule' [--quiet] update [--init] [--remote] [-N|--no-fetch]\n> >             [-f|--force] [--rebase|--merge|--checkout] [--reference <repository>]\n> > -           [--depth <depth>] [--recursive] [--] [<path>...]\n> > +           [--depth <depth>] [--recursive] [-v|--verbose] [--] [<path>...]\n> >  'git submodule' [--quiet] summary [--cached|--files] [(-n|--summary-limit) <n>]\n> >             [commit] [--] [<path>...]\n> >  'git submodule' [--quiet] foreach [--recursive] <command>\n> > @@ -363,6 +363,9 @@ for linkgit:git-clone[1]'s `--reference` and `--shared` options carefully.\n> >       clone with a history truncated to the specified number of revisions.\n> >       See linkgit:git-clone[1]\n> >\n> > +--verbose::\n> > +  This option is valid for add and update commands. Show output of\n> > +  checkout.\n>\n> The above looks whitespace-damaged, you should use TABs here to\n> indent (just like the other options do).\n>\n> >  <path>...::\n> >       Paths to submodule(s). When specified this will restrict the command\n> > diff --git a/git-submodule.sh b/git-submodule.sh\n> > index a33f68d..5c4e057 100755\n> > --- a/git-submodule.sh\n> > +++ b/git-submodule.sh\n> > @@ -5,11 +5,11 @@\n> >  # Copyright (c) 2007 Lars Hjemli\n> >\n> >  dashless=$(basename \"$0\" | sed -e 's/-/ /')\n> > -USAGE=\"[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>]\n> > +USAGE=\"[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [-v|--verbose] [--] <repository> [<path>]\n> >     or: $dashless [--quiet] status [--cached] [--recursive] [--] [<path>...]\n> >     or: $dashless [--quiet] init [--] [<path>...]\n> >     or: $dashless [--quiet] deinit [-f|--force] [--] <path>...\n> > -   or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference <repository>] [--merge] [--recursive] [--] [<path>...]\n> > +   or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference <repository>] [--merge] [--recursive] [-v|--verbose] [--] [<path>...]\n> >     or: $dashless [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]\n> >     or: $dashless [--quiet] foreach [--recursive] <command>\n> >     or: $dashless [--quiet] sync [--recursive] [--] [<path>...]\"\n> > @@ -319,12 +319,16 @@ module_clone()\n> >       rel=$(echo $a | sed -e 's|[^/][^/]*|..|g')\n> >       (\n> >               clear_local_git_env\n> > +             if test -z \"$verbose\"\n> > +             then\n> > +                     subquiet=-q\n> > +             fi\n> >               cd \"$sm_path\" &&\n> >               GIT_WORK_TREE=. git config core.worktree \"$rel/$b\" &&\n> >               # ash fails to wordsplit ${local_branch:+-B \"$local_branch\"...}\n> >               case \"$local_branch\" in\n> > -             '') git checkout -f -q ${start_point:+\"$start_point\"} ;;\n> > -             ?*) git checkout -f -q -B \"$local_branch\" ${start_point:+\"$start_point\"} ;;\n> > +             '') git checkout -f $subquiet ${start_point:+\"$start_point\"} ;;\n> > +             ?*) git checkout -f $subquiet -B \"$local_branch\" ${start_point:+\"$start_point\"} ;;\n>\n> Wouldn't it be better to use the ${subquiet:+\"$subquiet\"} notation\n> here like the other optional arguments do? After all the subquiet\n> isn't always set.\n>\n> >               esac\n> >       ) || die \"$(eval_gettext \"Unable to setup cloned submodule '\\$sm_path'\")\"\n> >  }\n> > @@ -380,6 +384,9 @@ cmd_add()\n> >               --depth=*)\n> >                       depth=$1\n> >                       ;;\n> > +             -v|--verbose)\n> > +                     verbose=1\n> > +                     ;;\n> >               --)\n> >                       shift\n> >                       break\n> > @@ -786,6 +793,9 @@ cmd_update()\n> >               --depth=*)\n> >                       depth=$1\n> >                       ;;\n> > +             -v|--verbose)\n> > +                     verbose=1\n> > +                     ;;\n> >               --)\n> >                       shift\n> >                       break\n> > @@ -913,7 +923,11 @@ Maybe you want to use 'update --init'?\")\"\n> >                       must_die_on_failure=\n> >                       case \"$update_module\" in\n> >                       checkout)\n> > -                             command=\"git checkout $subforce -q\"\n> > +                             if test -z \"$verbose\"\n> > +                             then\n> > +                                     subquiet=-q\n> > +                             fi\n> > +                             command=\"git checkout $subforce $subquiet\"\n>\n> Same as above.\n>\n> >                               die_msg=\"$(eval_gettext \"Unable to checkout '\\$sha1' in submodule path '\\$displaypath'\")\"\n> >                               say_msg=\"$(eval_gettext \"Submodule path '\\$displaypath': checked out '\\$sha1'\")\"\n> >                               ;;\n> > diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh\n> > index 28ca763..04a0fcc 100755\n> > --- a/t/t7406-submodule-update.sh\n> > +++ b/t/t7406-submodule-update.sh\n> > @@ -83,6 +83,15 @@ test_expect_success 'submodule update detaching the HEAD ' '\n> >       )\n> >  '\n> >\n> > +test_expect_success 'submodule update verbose' '\n> > +     (cd super/submodule &&\n> > +      git checkout master\n> > +     ) &&\n> > +     (cd super &&\n> > +      git submodule update --verbose submodule 2>&1 | grep -q \"HEAD is now at\"\n>\n> This string is translated, so you need to use test_i18ngrep.\n> Please see t7201-co.sh for an example of how to pipe the\n> output into a file and then compare it.\n>\n> > +     )\n> > +'\n> > +\n> >  test_expect_success 'submodule update from subdirectory' '\n> >       (cd super/submodule &&\n> >        git reset --hard HEAD~1\n> >\n>\n\nThanks a lot for your review! I'll post a revised patch soon.\n\n- Orgad\n"},{"id":"395273","messageId":"20200411120821.7675-1-lockywolf@gmail.com","threadId":"36138","inReplyTo":"1394631731-4678-1-git-send-email-orgad.shaneh@audiocodes.com","subject":"When will this patch be merged?","fromName":"Vladimir Nikishkin","fromEmail":"lockywolf@gmail.com","sentAt":"2020-04-11T12:08:21Z","receivedAt":"2020-04-11T12:18:59Z","isPatch":false,"sender":{"key":"lockywolf@gmail.com","avatar":"https://gravatar.com/avatar/ad26382c012afbd65a5b832ad7d98d62350a63454e2e891f80c7ea987fac749c?d=mp&s=160"},"body":"When will this patch be merged? It is 2020, and git submodule is\nbarely usable with my internet provider, since outbound connections\nare randomly shaped to 10k/s. At the moment I set up updating\nsubmodules for the night, hoping that it works. If this patch was\naccepted I would just see at which attempt the stream is not shaped\nand reissue the command if it is.\n\n-- \n--\nVladimir Nikishkin (MiEr, lockywolf)\n\n"},{"id":"395290","messageId":"20200412063158.GA27852@gmail.com","threadId":"36138","inReplyTo":"20200411120821.7675-1-lockywolf@gmail.com","subject":"Re: When will this patch be merged?","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2020-04-12T06:31:58Z","receivedAt":"2020-04-12T06:32:05Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Hi Vladimir,\n\nVladimir Nikishkin wrote:\n\n> [Subject: Re: When will this patch be merged?]\n\nPlease keep in mind that these mails appear in people's crowded\ninboxes, where a subject line can provide valuable context.\n\nWhich patch do you mean?\n\n> When will this patch be merged? It is 2020, and git submodule is\n> barely usable with my internet provider, since outbound connections\n> are randomly shaped to 10k/s. At the moment I set up updating\n> submodules for the night, hoping that it works. If this patch was\n> accepted I would just see at which attempt the stream is not shaped\n> and reissue the command if it is.\n\nFrom the In-Reply-To field, it looks like you're responding to [1]\n(\"submodule: add verbose mode for add/update\"), from 2014.  Have you\ntested that patch?  Does it apply to current Git?  Has it been working\nwell for you?\n\nFor your application, it sounds like having a timeout (plus Git's\nexisting support for retries when fetching submodules) would help.  Am\nI understanding correctly?\n\nThanks and hope that helps,\nJonathan\n\n[1] https://lore.kernel.org/git/1394631731-4678-1-git-send-email-orgad.shaneh@audiocodes.com/\n"}]}