Split the recursion part out to its own function, this allow us in a later patch to convert cmd_update in C.
Signed-off-by: Stefan Beller <sbel...@google.com> --- git-submodule.sh | 47 ++++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index 8b0eb9a..ea3260e 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -582,6 +582,31 @@ cmd_deinit() done } + +cmd_update_recursive() +{ + if test -n "$recursive" + then + ( + prefix="$prefix$sm_path/" + clear_local_git_env + cd "$sm_path" && + eval cmd_update + ) + res=$? + if test $res -gt 0 + then + die_msg="$(eval_gettext "Failed to recurse into submodule path '\$displaypath'")" + if test $res -eq 1 + then + err="${err};$die_msg" + else + die_with_status $res "$die_msg" + fi + fi + fi +} + # # Update each submodule path to correct revision, using clone and checkout as needed # @@ -790,27 +815,7 @@ Maybe you want to use 'update --init'?")" fi fi - if test -n "$recursive" - then - ( - prefix="$prefix$sm_path/" - clear_local_git_env - cd "$sm_path" && - eval cmd_update - ) - res=$? - if test $res -gt 0 - then - die_msg="$(eval_gettext "Failed to recurse into submodule path '\$displaypath'")" - if test $res -eq 1 - then - err="${err};$die_msg" - continue - else - die_with_status $res "$die_msg" - fi - fi - fi + cmd_update_recursive done if test -n "$err" -- 2.5.0.272.ga84127c.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html