Skip to content

Commit

Permalink
stash: invoke rerere in case of conflict
Browse files Browse the repository at this point in the history
"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
phord authored and gitster committed Aug 17, 2012
1 parent 79dc2d0 commit 743bf6d
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 1 deletion.
1 change: 1 addition & 0 deletions git-stash.sh
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion t/t7610-mergetool.sh
Expand Up @@ -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 &&
Expand Down

0 comments on commit 743bf6d

Please sign in to comment.