diff options
Diffstat (limited to 't/t3400-rebase.sh')
| -rwxr-xr-x | t/t3400-rebase.sh | 40 | 
1 files changed, 40 insertions, 0 deletions
diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh index 6d94b1fcd9..47b5682662 100755 --- a/t/t3400-rebase.sh +++ b/t/t3400-rebase.sh @@ -88,6 +88,23 @@ test_expect_success 'rebase from ambiguous branch name' '  	git rebase master  ' +test_expect_success 'rebase off of the previous branch using "-"' ' +	git checkout master && +	git checkout HEAD^ && +	git rebase @{-1} >expect.messages && +	git merge-base master HEAD >expect.forkpoint && + +	git checkout master && +	git checkout HEAD^ && +	git rebase - >actual.messages && +	git merge-base master HEAD >actual.forkpoint && + +	test_cmp expect.forkpoint actual.forkpoint && +	# the next one is dubious---we may want to say "-", +	# instead of @{-1}, in the message +	test_i18ncmp expect.messages actual.messages +' +  test_expect_success 'rebase a single mode change' '  	git checkout master &&  	git branch -D topic && @@ -152,6 +169,29 @@ test_expect_success 'default to common base in @{upstream}s reflog if no upstrea  	test_cmp expect actual  ' +test_expect_success 'cherry-picked commits and fork-point work together' ' +	git checkout default-base && +	echo Amended >A && +	git commit -a --no-edit --amend && +	test_commit B B && +	test_commit new_B B "New B" && +	test_commit C C && +	git checkout default && +	git reset --hard default-base@{4} && +	test_commit D D && +	git cherry-pick -2 default-base^ && +	test_commit final_B B "Final B" && +	git rebase && +	echo Amended >expect && +	test_cmp A expect && +	echo "Final B" >expect && +	test_cmp B expect && +	echo C >expect && +	test_cmp C expect && +	echo D >expect && +	test_cmp D expect +' +  test_expect_success 'rebase -q is quiet' '  	git checkout -b quiet topic &&  	git rebase -q master >output.out 2>&1 &&  | 
