Browse Source

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>
maint
Phil Hord 13 years ago committed by Junio C Hamano
parent
commit
743bf6d8b0
  1. 1
      git-stash.sh
  2. 2
      t/t7610-mergetool.sh

1
git-stash.sh

@ -469,6 +469,7 @@ apply_stash () { @@ -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

2
t/t7610-mergetool.sh

@ -203,7 +203,7 @@ test_expect_success 'mergetool skips resolved paths when rerere is active' ' @@ -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 &&

Loading…
Cancel
Save