submodule update: continue when a clone fails
authorStefan Beller <sbeller@google.com>
Thu, 9 Jun 2016 19:06:37 +0000 (12:06 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 13 Jun 2016 17:29:06 +0000 (10:29 -0700)
In 15ffb7cde48 (2011-06-13, submodule update: continue when a checkout
fails), we reasoned it is ok to continue, when there is not much of
a mental burden by the failure. If a recursive submodule fails to clone
because a .gitmodules file is broken (e.g. :
fatal: No url found for submodule path 'foo/bar' in .gitmodules
Failed to recurse into submodule path 'foo', signaled by exit code 128),
this is one of the cases where the user is not expected to have much of
a burden afterwards, so we can also continue in that case.

This means we only want to stop for updating submodules in case of rebase,
merge or custom update command failures, which are all signaled with
exit code 2.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-submodule.sh
index 42e0e9f63df06453a1515ceaa33b9431c966a23f..f1919ca16fdeec18d66c4b04485fdf802e119b14 100755 (executable)
@@ -734,7 +734,7 @@ cmd_update()
                        if test $res -gt 0
                        then
                                die_msg="$(eval_gettext "Failed to recurse into submodule path '\$displaypath'")"
-                               if test $res -eq 1
+                               if test $res -ne 2
                                then
                                        err="${err};$die_msg"
                                        continue