diff options
author | Junio C Hamano <gitster@pobox.com> | 2013-02-05 16:13:11 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-02-05 16:13:12 -0800 |
commit | 6d81ce0543c2fb7177c08491ba31a69aa54b7930 (patch) | |
tree | 6ef8352fb4ee054fca615d4b525bfa43c50b5686 /t | |
parent | Merge branch 'sb/gpg-plug-fd-leak' (diff) | |
parent | apply: diagnose incomplete submodule object name better (diff) | |
download | tgif-6d81ce0543c2fb7177c08491ba31a69aa54b7930.tar.xz |
Merge branch 'jc/fake-ancestor-with-non-blobs'
Rebasing the history of superproject with change in the submodule
was broken since v1.7.12.
* jc/fake-ancestor-with-non-blobs:
apply: diagnose incomplete submodule object name better
apply: simplify build_fake_ancestor()
git-am: record full index line in the patch used while rebasing
Diffstat (limited to 't')
-rwxr-xr-x | t/t7402-submodule-rebase.sh | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/t/t7402-submodule-rebase.sh b/t/t7402-submodule-rebase.sh index f919c8d34d..8e32f19007 100755 --- a/t/t7402-submodule-rebase.sh +++ b/t/t7402-submodule-rebase.sh @@ -3,7 +3,7 @@ # Copyright (c) 2008 Johannes Schindelin # -test_description='Test rebasing and stashing with dirty submodules' +test_description='Test rebasing, stashing, etc. with submodules' . ./test-lib.sh @@ -20,7 +20,8 @@ test_expect_success setup ' echo second line >> file && (cd submodule && git pull) && test_tick && - git commit -m file-and-submodule -a + git commit -m file-and-submodule -a && + git branch added-submodule ' @@ -89,4 +90,29 @@ test_expect_success 'stash with a dirty submodule' ' ' +test_expect_success 'rebasing submodule that should conflict' ' + git reset --hard && + git checkout added-submodule && + git add submodule && + test_tick && + git commit -m third && + ( + cd submodule && + git commit --allow-empty -m extra + ) && + git add submodule && + test_tick && + git commit -m fourth && + + test_must_fail git rebase --onto HEAD^^ HEAD^ HEAD^0 && + git ls-files -s submodule >actual && + ( + cd submodule && + echo "160000 $(git rev-parse HEAD^) 1 submodule" && + echo "160000 $(git rev-parse HEAD^^) 2 submodule" && + echo "160000 $(git rev-parse HEAD) 3 submodule" + ) >expect && + test_cmp expect actual +' + test_done |