summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgit-am.sh20
1 files changed, 12 insertions, 8 deletions
diff --git a/git-am.sh b/git-am.sh
index 85d6826..c562159 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -296,15 +296,19 @@ do
git-apply --index "$dotest/patch"; apply_status=$?
if test $apply_status = 1 && test "$threeway" = t
then
- (fall_back_3way) || stop_here $this
-
- # Applying the patch to an earlier tree and merging the
- # result may have produced the same tree as ours.
- if test '' = "$(git-diff-index --cached --name-only -z HEAD)"
+ if (fall_back_3way)
then
- echo No changes -- Patch already applied.
- go_next
- continue
+ # Applying the patch to an earlier tree and merging the
+ # result may have produced the same tree as ours.
+ changed="$(git-diff-index --cached --name-only -z HEAD)"
+ if test '' = "$changed"
+ then
+ echo No changes -- Patch already applied.
+ go_next
+ continue
+ fi
+ # clear apply_status -- we have successfully merged.
+ apply_status=0
fi
fi
if test $apply_status != 0