aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hord <hordp@cisco.com>2012-07-10 18:52:28 -0400
committerJunio C Hamano <gitster@pobox.com>2012-08-17 10:59:17 -0700
commit743bf6d8b07f0c5717bf5c37b8b50ae9de619c83 (patch)
tree7f5fa1c98bca0b31bce92d861d560ff2bd99b62a
parent79dc2d0b0250b4a90dfc83ae69c116e08c9df0a3 (diff)
downloadgit-743bf6d8b07f0c5717bf5c37b8b50ae9de619c83.tar.gz
git-743bf6d8b07f0c5717bf5c37b8b50ae9de619c83.tar.xz
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>
-rwxr-xr-xgit-stash.sh1
-rwxr-xr-xt/t7610-mergetool.sh2
2 files changed, 2 insertions, 1 deletions
diff --git a/git-stash.sh b/git-stash.sh
index fe4ab28b2..63d2f59fe 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -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
diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh
index 725f31686..6fa0c7050 100755
--- a/t/t7610-mergetool.sh
+++ b/t/t7610-mergetool.sh
@@ -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 &&