{"thread":{"id":"32969","subject":"[PATCH] submodule update: when using recursion, show full path","startedAt":"2013-02-22T04:25:56Z","lastAt":"2013-03-04T03:48:04Z","messageCount":5,"participants":["Will Entriken","Jens Lehmann","William Entriken","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"210013","messageId":"CAFwrLX7CroJ1Au-w0G7jo7F7DAu5=u2E6iVc9YUTLytVBuHVhw@mail.gmail.com","threadId":"32969","inReplyTo":null,"subject":"[PATCH] submodule update: when using recursion, show full path","fromName":"Will Entriken","fromEmail":"fulldecent@gmail.com","sentAt":"2013-02-22T04:25:56Z","receivedAt":"2013-02-22T04:25:56Z","isPatch":true,"sender":{"key":"fulldecent@gmail.com","avatar":null},"body":">From d3fe2c76e6fa53e4cfa6f81600685c21bdadd4e3 Mon Sep 17 00:00:00 2001\nFrom: William Entriken <github.com@phor.net>\nDate: Thu, 21 Feb 2013 23:10:07 -0500\nSubject: [PATCH] submodule update: when using recursion, show full path\n\nPreviously when using update with recursion, only the path for the\ninner-most module was printed. Now the path is printed from GIT_DIR.\nThis now matches the behavior of submodule foreach\n---\n\nFirst patch. Several tests failed, but they were failing before I\nstarted. This is against maint, I would consider this a (low priority)\nbug.\n\nHow does it look? Please let me know next steps.\n\nSigned-off-by: William Entriken <github.com@phor.net>\n\n git-submodule.sh | 31 ++++++++++++++++++-------------\n 1 file changed, 18 insertions(+), 13 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex 2365149..f2c53c9 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -588,7 +588,7 @@ cmd_update()\n  die_if_unmatched \"$mode\"\n  if test \"$stage\" = U\n  then\n- echo >&2 \"Skipping unmerged submodule $sm_path\"\n+ echo >&2 \"Skipping unmerged submodule $prefix$sm_path\"\n  continue\n  fi\n  name=$(module_name \"$sm_path\") || exit\n@@ -602,7 +602,7 @@ cmd_update()\n\n  if test \"$update_module\" = \"none\"\n  then\n- echo \"Skipping submodule '$sm_path'\"\n+ echo \"Skipping submodule '$prefix$sm_path'\"\n  continue\n  fi\n\n@@ -611,7 +611,7 @@ cmd_update()\n  # Only mention uninitialized submodules when its\n  # path have been specified\n  test \"$#\" != \"0\" &&\n- say \"$(eval_gettext \"Submodule path '\\$sm_path' not initialized\n+ say \"$(eval_gettext \"Submodule path '\\$prefix\\$sm_path' not initialized\n Maybe you want to use 'update --init'?\")\"\n  continue\n  fi\n@@ -624,7 +624,7 @@ Maybe you want to use 'update --init'?\")\"\n  else\n  subsha1=$(clear_local_git_env; cd \"$sm_path\" &&\n  git rev-parse --verify HEAD) ||\n- die \"$(eval_gettext \"Unable to find current revision in submodule\npath '\\$sm_path'\")\"\n+ die \"$(eval_gettext \"Unable to find current revision in submodule\npath '\\$prefix\\$sm_path'\")\"\n  fi\n\n  if test \"$subsha1\" != \"$sha1\" -o -n \"$force\"\n@@ -643,7 +643,7 @@ Maybe you want to use 'update --init'?\")\"\n  (clear_local_git_env; cd \"$sm_path\" &&\n  ( (rev=$(git rev-list -n 1 $sha1 --not --all 2>/dev/null) &&\n  test -z \"$rev\") || git-fetch)) ||\n- die \"$(eval_gettext \"Unable to fetch in submodule path '\\$sm_path'\")\"\n+ die \"$(eval_gettext \"Unable to fetch in submodule path '\\$prefix\\$sm_path'\")\"\n  fi\n\n  # Is this something we just cloned?\n@@ -657,20 +657,20 @@ Maybe you want to use 'update --init'?\")\"\n  case \"$update_module\" in\n  rebase)\n  command=\"git rebase\"\n- die_msg=\"$(eval_gettext \"Unable to rebase '\\$sha1' in submodule path\n'\\$sm_path'\")\"\n- say_msg=\"$(eval_gettext \"Submodule path '\\$sm_path': rebased into '\\$sha1'\")\"\n+ die_msg=\"$(eval_gettext \"Unable to rebase '\\$sha1' in submodule path\n'\\$prefix\\$sm_path'\")\"\n+ say_msg=\"$(eval_gettext \"Submodule path '\\$prefix\\$sm_path': rebased\ninto '\\$sha1'\")\"\n  must_die_on_failure=yes\n  ;;\n  merge)\n  command=\"git merge\"\n- die_msg=\"$(eval_gettext \"Unable to merge '\\$sha1' in submodule path\n'\\$sm_path'\")\"\n- say_msg=\"$(eval_gettext \"Submodule path '\\$sm_path': merged in '\\$sha1'\")\"\n+ die_msg=\"$(eval_gettext \"Unable to merge '\\$sha1' in submodule path\n'\\$prefix\\$sm_path'\")\"\n+ say_msg=\"$(eval_gettext \"Submodule path '\\$prefix\\$sm_path': merged\nin '\\$sha1'\")\"\n  must_die_on_failure=yes\n  ;;\n  *)\n  command=\"git checkout $subforce -q\"\n- die_msg=\"$(eval_gettext \"Unable to checkout '\\$sha1' in submodule\npath '\\$sm_path'\")\"\n- say_msg=\"$(eval_gettext \"Submodule path '\\$sm_path': checked out '\\$sha1'\")\"\n+ die_msg=\"$(eval_gettext \"Unable to checkout '\\$sha1' in submodule\npath '\\$prefix\\$sm_path'\")\"\n+ say_msg=\"$(eval_gettext \"Submodule path '\\$prefix\\$sm_path': checked\nout '\\$sha1'\")\"\n  ;;\n  esac\n\n@@ -688,11 +688,16 @@ Maybe you want to use 'update --init'?\")\"\n\n  if test -n \"$recursive\"\n  then\n- (clear_local_git_env; cd \"$sm_path\" && eval cmd_update \"$orig_flags\")\n+ (\n+ prefix=\"$prefix$sm_path/\"\n+ clear_local_git_env\n+ cd \"$sm_path\" &&\n+ eval cmd_update \"$orig_flags\"\n+ )\n  res=$?\n  if test $res -gt 0\n  then\n- die_msg=\"$(eval_gettext \"Failed to recurse into submodule path '\\$sm_path'\")\"\n+ die_msg=\"$(eval_gettext \"Failed to recurse into submodule path\n'\\$prefix\\$sm_path'\")\"\n  if test $res -eq 1\n  then\n  err=\"${err};$die_msg\"\n--\n1.7.11.3\n"},{"id":"210050","messageId":"5127C45C.2020204@web.de","threadId":"32969","inReplyTo":"CAFwrLX7CroJ1Au-w0G7jo7F7DAu5=u2E6iVc9YUTLytVBuHVhw@mail.gmail.com","subject":"Re: [PATCH] submodule update: when using recursion, show full path","fromName":"Jens Lehmann","fromEmail":"jens.lehmann@web.de","sentAt":"2013-02-22T19:17:48Z","receivedAt":"2013-02-22T19:17:48Z","isPatch":true,"sender":{"key":"jens.lehmann@web.de","avatar":"https://avatars.githubusercontent.com/u/135220?v=4"},"body":"Thanks. Your code changes are looking good and the commit message\nexplains what you did and why you did it. A few comments below.\n\nAm 22.02.2013 05:25, schrieb Will Entriken:\n>>From d3fe2c76e6fa53e4cfa6f81600685c21bdadd4e3 Mon Sep 17 00:00:00 2001\n> From: William Entriken <github.com@phor.net>\n> Date: Thu, 21 Feb 2013 23:10:07 -0500\n>\n> Subject: [PATCH] submodule update: when using recursion, show full path\n\nThe lines above aren't necessary as they are taken from the mail header.\n\n> Previously when using update with recursion, only the path for the\n> inner-most module was printed. Now the path is printed from GIT_DIR.\n\nYou should replace \"from GIT_DIR\" with something like \"relative to the\ndirectory the recursion started in\" here.\n\n> This now matches the behavior of submodule foreach\n\nPlease add a '.' at the end of the sentence.\n\n> ---\n> \n> First patch. Several tests failed, but they were failing before I\n> started. This is against maint, I would consider this a (low priority)\n> bug.\n\nStrange that you have failing tests, for me everything runs fine (With\nor without your patch). But I agree that this is a low priority bug.\n\n> How does it look? Please let me know next steps.\n\nThis patch does not apply due to removed leading whitespaces and a\nfew wrapped lines. Please see Documentation/git-format-patch.txt on\nhow to convince the mailer of your choice to send the patch out\nunmangled.\n\n> Signed-off-by: William Entriken <github.com@phor.net>\n\nThe Signed-off-by belongs just before the \"---\" line above, as\neverything between \"---\" and the line below won't make it into the\ncommit message.\n\n>  git-submodule.sh | 31 ++++++++++++++++++-------------\n>  1 file changed, 18 insertions(+), 13 deletions(-)\n> \n> diff --git a/git-submodule.sh b/git-submodule.sh\n> index 2365149..f2c53c9 100755\n> --- a/git-submodule.sh\n> +++ b/git-submodule.sh\n> @@ -588,7 +588,7 @@ cmd_update()\n>   die_if_unmatched \"$mode\"\n>   if test \"$stage\" = U\n>   then\n> - echo >&2 \"Skipping unmerged submodule $sm_path\"\n> + echo >&2 \"Skipping unmerged submodule $prefix$sm_path\"\n>   continue\n>   fi\n>   name=$(module_name \"$sm_path\") || exit\n> @@ -602,7 +602,7 @@ cmd_update()\n> \n>   if test \"$update_module\" = \"none\"\n>   then\n> - echo \"Skipping submodule '$sm_path'\"\n> + echo \"Skipping submodule '$prefix$sm_path'\"\n>   continue\n>   fi\n> \n> @@ -611,7 +611,7 @@ cmd_update()\n>   # Only mention uninitialized submodules when its\n>   # path have been specified\n>   test \"$#\" != \"0\" &&\n> - say \"$(eval_gettext \"Submodule path '\\$sm_path' not initialized\n> + say \"$(eval_gettext \"Submodule path '\\$prefix\\$sm_path' not initialized\n>  Maybe you want to use 'update --init'?\")\"\n>   continue\n>   fi\n> @@ -624,7 +624,7 @@ Maybe you want to use 'update --init'?\")\"\n>   else\n>   subsha1=$(clear_local_git_env; cd \"$sm_path\" &&\n>   git rev-parse --verify HEAD) ||\n> - die \"$(eval_gettext \"Unable to find current revision in submodule\n> path '\\$sm_path'\")\"\n> + die \"$(eval_gettext \"Unable to find current revision in submodule\n> path '\\$prefix\\$sm_path'\")\"\n>   fi\n> \n>   if test \"$subsha1\" != \"$sha1\" -o -n \"$force\"\n> @@ -643,7 +643,7 @@ Maybe you want to use 'update --init'?\")\"\n>   (clear_local_git_env; cd \"$sm_path\" &&\n>   ( (rev=$(git rev-list -n 1 $sha1 --not --all 2>/dev/null) &&\n>   test -z \"$rev\") || git-fetch)) ||\n> - die \"$(eval_gettext \"Unable to fetch in submodule path '\\$sm_path'\")\"\n> + die \"$(eval_gettext \"Unable to fetch in submodule path '\\$prefix\\$sm_path'\")\"\n>   fi\n> \n>   # Is this something we just cloned?\n> @@ -657,20 +657,20 @@ Maybe you want to use 'update --init'?\")\"\n>   case \"$update_module\" in\n>   rebase)\n>   command=\"git rebase\"\n> - die_msg=\"$(eval_gettext \"Unable to rebase '\\$sha1' in submodule path\n> '\\$sm_path'\")\"\n> - say_msg=\"$(eval_gettext \"Submodule path '\\$sm_path': rebased into '\\$sha1'\")\"\n> + die_msg=\"$(eval_gettext \"Unable to rebase '\\$sha1' in submodule path\n> '\\$prefix\\$sm_path'\")\"\n> + say_msg=\"$(eval_gettext \"Submodule path '\\$prefix\\$sm_path': rebased\n> into '\\$sha1'\")\"\n>   must_die_on_failure=yes\n>   ;;\n>   merge)\n>   command=\"git merge\"\n> - die_msg=\"$(eval_gettext \"Unable to merge '\\$sha1' in submodule path\n> '\\$sm_path'\")\"\n> - say_msg=\"$(eval_gettext \"Submodule path '\\$sm_path': merged in '\\$sha1'\")\"\n> + die_msg=\"$(eval_gettext \"Unable to merge '\\$sha1' in submodule path\n> '\\$prefix\\$sm_path'\")\"\n> + say_msg=\"$(eval_gettext \"Submodule path '\\$prefix\\$sm_path': merged\n> in '\\$sha1'\")\"\n>   must_die_on_failure=yes\n>   ;;\n>   *)\n>   command=\"git checkout $subforce -q\"\n> - die_msg=\"$(eval_gettext \"Unable to checkout '\\$sha1' in submodule\n> path '\\$sm_path'\")\"\n> - say_msg=\"$(eval_gettext \"Submodule path '\\$sm_path': checked out '\\$sha1'\")\"\n> + die_msg=\"$(eval_gettext \"Unable to checkout '\\$sha1' in submodule\n> path '\\$prefix\\$sm_path'\")\"\n> + say_msg=\"$(eval_gettext \"Submodule path '\\$prefix\\$sm_path': checked\n> out '\\$sha1'\")\"\n>   ;;\n>   esac\n> \n> @@ -688,11 +688,16 @@ Maybe you want to use 'update --init'?\")\"\n> \n>   if test -n \"$recursive\"\n>   then\n> - (clear_local_git_env; cd \"$sm_path\" && eval cmd_update \"$orig_flags\")\n> + (\n> + prefix=\"$prefix$sm_path/\"\n> + clear_local_git_env\n> + cd \"$sm_path\" &&\n> + eval cmd_update \"$orig_flags\"\n> + )\n>   res=$?\n>   if test $res -gt 0\n>   then\n> - die_msg=\"$(eval_gettext \"Failed to recurse into submodule path '\\$sm_path'\")\"\n> + die_msg=\"$(eval_gettext \"Failed to recurse into submodule path\n> '\\$prefix\\$sm_path'\")\"\n>   if test $res -eq 1\n>   then\n>   err=\"${err};$die_msg\"\n> --\n> 1.7.11.3\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n> \n"},{"id":"210515","messageId":"1362253499-48847-1-git-send-email-github.com@phor.net","threadId":"32969","inReplyTo":"5127C45C.2020204@web.de","subject":"[PATCH] submodule update: when using recursion, show full path","fromName":"William Entriken","fromEmail":"fulldecent@gmail.com","sentAt":"2013-03-02T19:44:59Z","receivedAt":"2013-03-02T19:44:59Z","isPatch":true,"sender":{"key":"fulldecent@gmail.com","avatar":null},"body":"Previously when using update with recursion, only the path for the\ninner-most module was printed. Now the path is printed relative to\nthe directory the command was started from. This now matches the\nbehavior of submodule foreach.\n\nSigned-off-by: William Entriken <github.com@phor.net>\n---\n git-submodule.sh | 31 ++++++++++++++++++-------------\n 1 file changed, 18 insertions(+), 13 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex 2365149..f2c53c9 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -588,7 +588,7 @@ cmd_update()\n \t\tdie_if_unmatched \"$mode\"\n \t\tif test \"$stage\" = U\n \t\tthen\n-\t\t\techo >&2 \"Skipping unmerged submodule $sm_path\"\n+\t\t\techo >&2 \"Skipping unmerged submodule $prefix$sm_path\"\n \t\t\tcontinue\n \t\tfi\n \t\tname=$(module_name \"$sm_path\") || exit\n@@ -602,7 +602,7 @@ cmd_update()\n \n \t\tif test \"$update_module\" = \"none\"\n \t\tthen\n-\t\t\techo \"Skipping submodule '$sm_path'\"\n+\t\t\techo \"Skipping submodule '$prefix$sm_path'\"\n \t\t\tcontinue\n \t\tfi\n \n@@ -611,7 +611,7 @@ cmd_update()\n \t\t\t# Only mention uninitialized submodules when its\n \t\t\t# path have been specified\n \t\t\ttest \"$#\" != \"0\" &&\n-\t\t\tsay \"$(eval_gettext \"Submodule path '\\$sm_path' not initialized\n+\t\t\tsay \"$(eval_gettext \"Submodule path '\\$prefix\\$sm_path' not initialized\n Maybe you want to use 'update --init'?\")\"\n \t\t\tcontinue\n \t\tfi\n@@ -624,7 +624,7 @@ Maybe you want to use 'update --init'?\")\"\n \t\telse\n \t\t\tsubsha1=$(clear_local_git_env; cd \"$sm_path\" &&\n \t\t\t\tgit rev-parse --verify HEAD) ||\n-\t\t\tdie \"$(eval_gettext \"Unable to find current revision in submodule path '\\$sm_path'\")\"\n+\t\t\tdie \"$(eval_gettext \"Unable to find current revision in submodule path '\\$prefix\\$sm_path'\")\"\n \t\tfi\n \n \t\tif test \"$subsha1\" != \"$sha1\" -o -n \"$force\"\n@@ -643,7 +643,7 @@ Maybe you want to use 'update --init'?\")\"\n \t\t\t\t(clear_local_git_env; cd \"$sm_path\" &&\n \t\t\t\t\t( (rev=$(git rev-list -n 1 $sha1 --not --all 2>/dev/null) &&\n \t\t\t\t\t test -z \"$rev\") || git-fetch)) ||\n-\t\t\t\tdie \"$(eval_gettext \"Unable to fetch in submodule path '\\$sm_path'\")\"\n+\t\t\t\tdie \"$(eval_gettext \"Unable to fetch in submodule path '\\$prefix\\$sm_path'\")\"\n \t\t\tfi\n \n \t\t\t# Is this something we just cloned?\n@@ -657,20 +657,20 @@ Maybe you want to use 'update --init'?\")\"\n \t\t\tcase \"$update_module\" in\n \t\t\trebase)\n \t\t\t\tcommand=\"git rebase\"\n-\t\t\t\tdie_msg=\"$(eval_gettext \"Unable to rebase '\\$sha1' in submodule path '\\$sm_path'\")\"\n-\t\t\t\tsay_msg=\"$(eval_gettext \"Submodule path '\\$sm_path': rebased into '\\$sha1'\")\"\n+\t\t\t\tdie_msg=\"$(eval_gettext \"Unable to rebase '\\$sha1' in submodule path '\\$prefix\\$sm_path'\")\"\n+\t\t\t\tsay_msg=\"$(eval_gettext \"Submodule path '\\$prefix\\$sm_path': rebased into '\\$sha1'\")\"\n \t\t\t\tmust_die_on_failure=yes\n \t\t\t\t;;\n \t\t\tmerge)\n \t\t\t\tcommand=\"git merge\"\n-\t\t\t\tdie_msg=\"$(eval_gettext \"Unable to merge '\\$sha1' in submodule path '\\$sm_path'\")\"\n-\t\t\t\tsay_msg=\"$(eval_gettext \"Submodule path '\\$sm_path': merged in '\\$sha1'\")\"\n+\t\t\t\tdie_msg=\"$(eval_gettext \"Unable to merge '\\$sha1' in submodule path '\\$prefix\\$sm_path'\")\"\n+\t\t\t\tsay_msg=\"$(eval_gettext \"Submodule path '\\$prefix\\$sm_path': merged in '\\$sha1'\")\"\n \t\t\t\tmust_die_on_failure=yes\n \t\t\t\t;;\n \t\t\t*)\n \t\t\t\tcommand=\"git checkout $subforce -q\"\n-\t\t\t\tdie_msg=\"$(eval_gettext \"Unable to checkout '\\$sha1' in submodule path '\\$sm_path'\")\"\n-\t\t\t\tsay_msg=\"$(eval_gettext \"Submodule path '\\$sm_path': checked out '\\$sha1'\")\"\n+\t\t\t\tdie_msg=\"$(eval_gettext \"Unable to checkout '\\$sha1' in submodule path '\\$prefix\\$sm_path'\")\"\n+\t\t\t\tsay_msg=\"$(eval_gettext \"Submodule path '\\$prefix\\$sm_path': checked out '\\$sha1'\")\"\n \t\t\t\t;;\n \t\t\tesac\n \n@@ -688,11 +688,16 @@ Maybe you want to use 'update --init'?\")\"\n \n \t\tif test -n \"$recursive\"\n \t\tthen\n-\t\t\t(clear_local_git_env; cd \"$sm_path\" && eval cmd_update \"$orig_flags\")\n+\t\t\t(\n+\t\t\t\tprefix=\"$prefix$sm_path/\"\n+\t\t\t\tclear_local_git_env\n+\t\t\t\tcd \"$sm_path\" &&\n+\t\t\t\teval cmd_update \"$orig_flags\"\n+\t\t\t)\n \t\t\tres=$?\n \t\t\tif test $res -gt 0\n \t\t\tthen\n-\t\t\t\tdie_msg=\"$(eval_gettext \"Failed to recurse into submodule path '\\$sm_path'\")\"\n+\t\t\t\tdie_msg=\"$(eval_gettext \"Failed to recurse into submodule path '\\$prefix\\$sm_path'\")\"\n \t\t\t\tif test $res -eq 1\n \t\t\t\tthen\n \t\t\t\t\terr=\"${err};$die_msg\"\n-- \n1.7.12.4 (Apple Git-37)\n"},{"id":"210563","messageId":"5133E570.7030507@web.de","threadId":"32969","inReplyTo":"1362253499-48847-1-git-send-email-github.com@phor.net","subject":"Re: [PATCH] submodule update: when using recursion, show full path","fromName":"Jens Lehmann","fromEmail":"jens.lehmann@web.de","sentAt":"2013-03-04T00:06:08Z","receivedAt":"2013-03-04T00:06:08Z","isPatch":true,"sender":{"key":"jens.lehmann@web.de","avatar":"https://avatars.githubusercontent.com/u/135220?v=4"},"body":"Am 02.03.2013 20:44, schrieb William Entriken:\n> Previously when using update with recursion, only the path for the\n> inner-most module was printed. Now the path is printed relative to\n> the directory the command was started from. This now matches the\n> behavior of submodule foreach.\n> \n> Signed-off-by: William Entriken <github.com@phor.net>\n\nThanks, this patch cleanly applies against maint and addresses all\nissues from the previous rounds.\n\nAcked-by: Jens Lehmann <Jens.Lehmann@web.de>\n\nJunio, could you please squash in this additional test?\n\n--------8<-------\ndiff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh\nindex feaec6c..70528b7 100755\n--- a/t/t7406-submodule-update.sh\n+++ b/t/t7406-submodule-update.sh\n@@ -612,7 +612,8 @@ test_expect_success 'submodule update places git-dir in superprojects git-dir re\n \trm -rf super_update_r2 &&\n \tgit clone super_update_r super_update_r2 &&\n \t(cd super_update_r2 &&\n-\t git submodule update --init --recursive &&\n+\t git submodule update --init --recursive >actual &&\n+\t test_i18ngrep \"Submodule path .submodule/subsubmodule.: checked out\" actual &&\n \t (cd submodule/subsubmodule &&\n \t  git log > ../../expected\n \t ) &&\n"},{"id":"210568","messageId":"7vsj4bygej.fsf@alter.siamese.dyndns.org","threadId":"32969","inReplyTo":"5133E570.7030507@web.de","subject":"Re: [PATCH] submodule update: when using recursion, show full path","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-03-04T03:48:04Z","receivedAt":"2013-03-04T03:48:04Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jens Lehmann <Jens.Lehmann@web.de> writes:\n\n> Am 02.03.2013 20:44, schrieb William Entriken:\n>> Previously when using update with recursion, only the path for the\n>> inner-most module was printed. Now the path is printed relative to\n>> the directory the command was started from. This now matches the\n>> behavior of submodule foreach.\n>> \n>> Signed-off-by: William Entriken <github.com@phor.net>\n>\n> Thanks, this patch cleanly applies against maint and addresses all\n> issues from the previous rounds.\n>\n> Acked-by: Jens Lehmann <Jens.Lehmann@web.de>\n>\n> Junio, could you please squash in this additional test?\n\nThanks.\n\nI wish all areas of Git had competent and diligent area maintainers\nlike you.  Makes it a lot easier for me _not_ to keep track of ;-).\n\n>\n> --------8<-------\n> diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh\n> index feaec6c..70528b7 100755\n> --- a/t/t7406-submodule-update.sh\n> +++ b/t/t7406-submodule-update.sh\n> @@ -612,7 +612,8 @@ test_expect_success 'submodule update places git-dir in superprojects git-dir re\n>  \trm -rf super_update_r2 &&\n>  \tgit clone super_update_r super_update_r2 &&\n>  \t(cd super_update_r2 &&\n> -\t git submodule update --init --recursive &&\n> +\t git submodule update --init --recursive >actual &&\n> +\t test_i18ngrep \"Submodule path .submodule/subsubmodule.: checked out\" actual &&\n>  \t (cd submodule/subsubmodule &&\n>  \t  git log > ../../expected\n>  \t ) &&\n"}]}