diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-03-02 23:07:19 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-03-02 23:07:19 (GMT) |
commit | 48d5f25ddd9812fc78632357d062894342dc55df (patch) | |
tree | 7ad506259d202b1c8e7f18fb29dcd667792a1c9a /t | |
parent | 8c22bd9ff9d4a355d3546181698307a797fd2bd2 (diff) | |
parent | fb1c18fc466c6a9c6ea1b072c9db93c0046f4cbd (diff) | |
download | git-48d5f25ddd9812fc78632357d062894342dc55df.zip git-48d5f25ddd9812fc78632357d062894342dc55df.tar.gz git-48d5f25ddd9812fc78632357d062894342dc55df.tar.bz2 |
Merge branch 'en/t3433-rebase-stat-dirty-failure'
The merge-recursive machinery failed to refresh the cache entry for
a merge result in a couple of places, resulting in an unnecessary
merge failure, which has been fixed.
* en/t3433-rebase-stat-dirty-failure:
merge-recursive: fix the refresh logic in update_file_flags
t3433: new rebase testcase documenting a stat-dirty-like failure
Diffstat (limited to 't')
-rwxr-xr-x | t/t3433-rebase-across-mode-change.sh | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/t/t3433-rebase-across-mode-change.sh b/t/t3433-rebase-across-mode-change.sh new file mode 100755 index 0000000..05df964 --- /dev/null +++ b/t/t3433-rebase-across-mode-change.sh @@ -0,0 +1,48 @@ +#!/bin/sh + +test_description='git rebase across mode change' + +. ./test-lib.sh + +test_expect_success 'setup' ' + mkdir DS && + >DS/whatever && + git add DS && + git commit -m base && + + git branch side1 && + git branch side2 && + + git checkout side1 && + git rm -rf DS && + test_ln_s_add unrelated DS && + git commit -m side1 && + + git checkout side2 && + >unrelated && + git add unrelated && + git commit -m commit1 && + + echo >>unrelated && + git commit -am commit2 +' + +test_expect_success 'rebase changes with the apply backend' ' + test_when_finished "git rebase --abort || true" && + git checkout -b apply-backend side2 && + git rebase side1 +' + +test_expect_success 'rebase changes with the merge backend' ' + test_when_finished "git rebase --abort || true" && + git checkout -b merge-backend side2 && + git rebase -m side1 +' + +test_expect_success 'rebase changes with the merge backend with a delay' ' + test_when_finished "git rebase --abort || true" && + git checkout -b merge-delay-backend side2 && + git rebase -m --exec "sleep 1" side1 +' + +test_done |