. ./test-lib.sh
test_expect_success 'prepare repository with topic branch' '
- echo First > A &&
- git update-index --add A &&
- git commit -m "Add A." &&
-
+ test_commit A &&
git checkout -b my-topic-branch &&
-
- echo Second > B &&
- git update-index --add B &&
- git commit -m "Add B." &&
-
- echo AnotherSecond > C &&
- git update-index --add C &&
- git commit -m "Add C." &&
-
+ test_commit B &&
+ test_commit C &&
git checkout -f master &&
-
- echo Third >> A &&
- git update-index A &&
- git commit -m "Modify A."
+ test_commit A2 A.t
'
test_expect_success 'pick top patch from topic branch into master' '
- git cherry-pick my-topic-branch^0 &&
- git checkout -f my-topic-branch &&
- git branch master-merge master &&
- git branch my-topic-branch-merge my-topic-branch
+ git cherry-pick C &&
+ git checkout -f my-topic-branch
'
test_debug '
test_expect_success 'rebase topic branch against new master and check git am did not get halted' '
git rebase master &&
- test ! -d .git/rebase-apply
+ test_path_is_missing .git/rebase-apply
'
test_expect_success 'rebase --merge topic branch that was partially merged upstream' '
- git checkout -f my-topic-branch-merge &&
- git rebase --merge master-merge &&
- test ! -d .git/rebase-merge
+ git reset --hard C &&
+ git rebase --merge master &&
+ test_path_is_missing .git/rebase-merge
'
test_done