Hi Phillip, Sorry for the late reply. I'm back in school so I've been pretty busy lately. On Tue, Dec 31, 2019 at 10:34:30AM +0000, Phillip Wood wrote: > For `merge --autostash` I think we need to consider the interaction of > `--no-commit` with `--autostash` as `stash pop` will refuse to run if the > merge modified any of the stashed paths. The only time when we run the `stash pop` is when we either commit the merge or abort it. With this in mind, what do you think of the following test cases? If they look good, I can squash them into the appropriate patch and send in a reroll. diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh index e0c8a0bad4..af5db58e16 100755 --- a/t/t7600-merge.sh +++ b/t/t7600-merge.sh @@ -727,6 +727,33 @@ test_expect_success 'conflicted merge with --autostash, --abort restores stash' test_cmp file.1 file ' +test_expect_success 'completed merge with --no-commit and --autostash' ' + git reset --hard c1 && + git merge-file file file.orig file.9 && + git diff >expect && + git merge --no-commit --autostash c2 && + git stash show -p MERGE_AUTOSTASH >actual && + test_cmp expect actual && + git commit 2>err && + test_i18ngrep "Applied autostash." err && + git show HEAD:file >merge-result && + test_cmp result.1-5 merge-result && + test_cmp result.1-5-9 file +' + +test_expect_success 'aborted merge with --no-commit and --autostash' ' + git reset --hard c1 && + git merge-file file file.orig file.9 && + git diff >expect && + git merge --no-commit --autostash c2 && + git stash show -p MERGE_AUTOSTASH >actual && + test_cmp expect actual && + git merge --abort 2>err && + test_i18ngrep "Applied autostash." err && + git diff >actual && + test_cmp expect actual +' + test_expect_success 'merge with conflicted --autostash changes' ' git reset --hard c1 && git merge-file file file.orig file.9y && Thanks, Denton > > Best Wishes > > Phillip