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>
This commit is contained in:
Phil Hord 2012-07-10 18:52:28 -04:00 committed by Junio C Hamano
parent 79dc2d0b02
commit 743bf6d8b0
2 changed files with 2 additions and 1 deletions

View File

@ -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 File

@ -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 &&