Permalink
Browse files

stash: invoke rerere in case of conflict

"stash apply" directly calls a backend merge function which does not
automatically invoke rerere.  This confuses mergetool when leftover
rerere state is left behind from previous merges.

Invoke rerere explicitly when we encounter a conflict during stash
apply.  This turns the test introduced by the previous commit to
succeed.

Signed-off-by: Phil Hord <hordp@cisco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information...
1 parent 79dc2d0 commit 743bf6d8b07f0c5717bf5c37b8b50ae9de619c83 @phord phord committed with gitster Jul 10, 2012
Showing with 2 additions and 1 deletion.
  1. +1 −0 git-stash.sh
  2. +1 −1 t/t7610-mergetool.sh
View
@@ -469,6 +469,7 @@ apply_stash () {
else
# Merge conflict; keep the exit status from merge-recursive
status=$?
+ git rerere
if test -n "$INDEX_OPTION"
then
gettextln "Index was not unstashed." >&2
View
@@ -203,7 +203,7 @@ test_expect_success 'mergetool skips resolved paths when rerere is active' '
git reset --hard
'
-test_expect_failure 'conflicted stash sets up rerere' '
+test_expect_success 'conflicted stash sets up rerere' '
git config rerere.enabled true &&
git checkout stash1 &&
echo "Conflicting stash content" >file11 &&

0 comments on commit 743bf6d

Please sign in to comment.