summaryrefslogtreecommitdiff
path: root/git-submodule.sh
diff options
context:
space:
mode:
Diffstat (limited to 'git-submodule.sh')
-rwxr-xr-xgit-submodule.sh17
1 files changed, 8 insertions, 9 deletions
diff --git a/git-submodule.sh b/git-submodule.sh
index eb5eebcd96..066d6b5716 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -508,16 +508,19 @@ cmd_update()
update_module= ;;
esac
+ must_die_on_failure=
case "$update_module" in
rebase)
command="git rebase"
action="rebase"
msg="rebased onto"
+ must_die_on_failure=yes
;;
merge)
command="git merge"
action="merge"
msg="merged in"
+ must_die_on_failure=yes
;;
*)
command="git checkout $subforce -q"
@@ -529,16 +532,12 @@ cmd_update()
if (clear_local_git_env; cd "$path" && $command "$sha1")
then
say "Submodule path '$path': $msg '$sha1'"
+ elif test -n "$must_die_on_failure"
+ then
+ die_with_status 2 "Unable to $action '$sha1' in submodule path '$path'"
else
- case $action in
- rebase|merge)
- die_with_status 2 "Unable to $action '$sha1' in submodule path '$path'"
- ;;
- *)
- err="${err};Failed to $action in submodule path '$path'"
- continue
- ;;
- esac
+ err="${err};Failed to $action in submodule path '$path'"
+ continue
fi
fi