From: Junio C Hamano Date: Thu, 13 Oct 2005 18:46:43 +0000 (-0700) Subject: git-am: do not fail if 3-way fallback succeeds. X-Git-Tag: v0.99.9~134 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=73319032c8d2b2c73138d5caee1d2838fe1305d2;p=git.git git-am: do not fail if 3-way fallback succeeds. The current one incorrectly stops there without committing. Signed-off-by: Junio C Hamano --- diff --git a/git-am.sh b/git-am.sh index 85d682669..c562159a1 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