diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-08-04 13:28:54 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-08-04 13:28:54 -0700 |
commit | 5fef3b15dbf609bdb13352d0eb716cd79c8ff017 (patch) | |
tree | 5be77acecb89de7a756c632ac2c1dd8fde4514a9 /t | |
parent | Merge branch 'en/ort-perf-batch-14' (diff) | |
parent | merge: apply autostash if merge strategy fails (diff) | |
download | tgif-5fef3b15dbf609bdb13352d0eb716cd79c8ff017.tar.xz |
Merge branch 'pb/merge-autostash-more'
The local changes stashed by "git merge --autostash" were lost when
the merge failed in certain ways, which has been corrected.
* pb/merge-autostash-more:
merge: apply autostash if merge strategy fails
merge: apply autostash if fast-forward fails
Documentation: define 'MERGE_AUTOSTASH'
merge: add missing word "strategy" to a message
Diffstat (limited to 't')
-rwxr-xr-x | t/t7600-merge.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh index 1cbc9715a8..2ef39d3088 100755 --- a/t/t7600-merge.sh +++ b/t/t7600-merge.sh @@ -122,6 +122,8 @@ test_expect_success 'setup' ' c0=$(git rev-parse HEAD) && cp file.1 file && git add file && + cp file.1 other && + git add other && test_tick && git commit -m "commit 1" && git tag c1 && @@ -711,6 +713,15 @@ test_expect_success 'fast-forward merge with --autostash' ' test_cmp result.1-5 file ' +test_expect_success 'failed fast-forward merge with --autostash' ' + git reset --hard c0 && + git merge-file file file.orig file.5 && + cp file.5 other && + test_must_fail git merge --autostash c1 2>err && + test_i18ngrep "Applied autostash." err && + test_cmp file.5 file +' + test_expect_success 'octopus merge with --autostash' ' git reset --hard c1 && git merge-file file file.orig file.3 && @@ -721,6 +732,14 @@ test_expect_success 'octopus merge with --autostash' ' test_cmp result.1-3-5-9 file ' +test_expect_success 'failed merge (exit 2) with --autostash' ' + git reset --hard c1 && + git merge-file file file.orig file.5 && + test_must_fail git merge -s recursive --autostash c2 c3 2>err && + test_i18ngrep "Applied autostash." err && + test_cmp result.1-5 file +' + test_expect_success 'conflicted merge with --autostash, --abort restores stash' ' git reset --hard c3 && cp file.1 file && |