mirror of
https://github.com/git/git.git
synced 2024-11-25 19:04:18 +08:00
t3400 (rebase): whitespace cleanup
This test used 5-space indents since it was added in 2005, but recently the temptation to use tabs to indent has been too strong, resulting in uneven whitespace. Switch over completely to tabs. While at it, use a more modern style for consistency with other tests: - names of tests go on the same line as test_expect_success; - extra whitespace after > redirection operators is removed. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
18cdf802ca
commit
e877a4c11a
@ -14,140 +14,142 @@ GIT_AUTHOR_NAME=author@name
|
||||
GIT_AUTHOR_EMAIL=bogus@email@address
|
||||
export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
|
||||
|
||||
test_expect_success \
|
||||
'prepare repository with topic branches' \
|
||||
'git config core.logAllRefUpdates true &&
|
||||
echo First > A &&
|
||||
git update-index --add A &&
|
||||
git commit -m "Add A." &&
|
||||
git checkout -b my-topic-branch &&
|
||||
echo Second > B &&
|
||||
git update-index --add B &&
|
||||
git commit -m "Add B." &&
|
||||
git checkout -f master &&
|
||||
echo Third >> A &&
|
||||
git update-index A &&
|
||||
git commit -m "Modify A." &&
|
||||
git checkout -b side my-topic-branch &&
|
||||
echo Side >> C &&
|
||||
git add C &&
|
||||
git commit -m "Add C" &&
|
||||
git checkout -b nonlinear my-topic-branch &&
|
||||
echo Edit >> B &&
|
||||
git add B &&
|
||||
git commit -m "Modify B" &&
|
||||
git merge side &&
|
||||
git checkout -b upstream-merged-nonlinear &&
|
||||
git merge master &&
|
||||
git checkout -f my-topic-branch &&
|
||||
git tag topic
|
||||
test_expect_success 'prepare repository with topic branches' '
|
||||
git config core.logAllRefUpdates true &&
|
||||
echo First >A &&
|
||||
git update-index --add A &&
|
||||
git commit -m "Add A." &&
|
||||
git checkout -b my-topic-branch &&
|
||||
echo Second >B &&
|
||||
git update-index --add B &&
|
||||
git commit -m "Add B." &&
|
||||
git checkout -f master &&
|
||||
echo Third >>A &&
|
||||
git update-index A &&
|
||||
git commit -m "Modify A." &&
|
||||
git checkout -b side my-topic-branch &&
|
||||
echo Side >>C &&
|
||||
git add C &&
|
||||
git commit -m "Add C" &&
|
||||
git checkout -b nonlinear my-topic-branch &&
|
||||
echo Edit >>B &&
|
||||
git add B &&
|
||||
git commit -m "Modify B" &&
|
||||
git merge side &&
|
||||
git checkout -b upstream-merged-nonlinear &&
|
||||
git merge master &&
|
||||
git checkout -f my-topic-branch &&
|
||||
git tag topic
|
||||
'
|
||||
|
||||
test_expect_success 'rebase on dirty worktree' '
|
||||
echo dirty >> A &&
|
||||
test_must_fail git rebase master'
|
||||
echo dirty >>A &&
|
||||
test_must_fail git rebase master
|
||||
'
|
||||
|
||||
test_expect_success 'rebase on dirty cache' '
|
||||
git add A &&
|
||||
test_must_fail git rebase master'
|
||||
git add A &&
|
||||
test_must_fail git rebase master
|
||||
'
|
||||
|
||||
test_expect_success 'rebase against master' '
|
||||
git reset --hard HEAD &&
|
||||
git rebase master'
|
||||
git reset --hard HEAD &&
|
||||
git rebase master
|
||||
'
|
||||
|
||||
test_expect_success 'rebase against master twice' '
|
||||
git rebase master >out &&
|
||||
grep "Current branch my-topic-branch is up to date" out
|
||||
git rebase master >out &&
|
||||
grep "Current branch my-topic-branch is up to date" out
|
||||
'
|
||||
|
||||
test_expect_success 'rebase against master twice with --force' '
|
||||
git rebase --force-rebase master >out &&
|
||||
grep "Current branch my-topic-branch is up to date, rebase forced" out
|
||||
git rebase --force-rebase master >out &&
|
||||
grep "Current branch my-topic-branch is up to date, rebase forced" out
|
||||
'
|
||||
|
||||
test_expect_success 'rebase against master twice from another branch' '
|
||||
git checkout my-topic-branch^ &&
|
||||
git rebase master my-topic-branch >out &&
|
||||
grep "Current branch my-topic-branch is up to date" out
|
||||
git checkout my-topic-branch^ &&
|
||||
git rebase master my-topic-branch >out &&
|
||||
grep "Current branch my-topic-branch is up to date" out
|
||||
'
|
||||
|
||||
test_expect_success 'rebase fast-forward to master' '
|
||||
git checkout my-topic-branch^ &&
|
||||
git rebase my-topic-branch >out &&
|
||||
grep "Fast-forwarded HEAD to my-topic-branch" out
|
||||
git checkout my-topic-branch^ &&
|
||||
git rebase my-topic-branch >out &&
|
||||
grep "Fast-forwarded HEAD to my-topic-branch" out
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
'the rebase operation should not have destroyed author information' \
|
||||
'! (git log | grep "Author:" | grep "<>")'
|
||||
test_expect_success 'the rebase operation should not have destroyed author information' '
|
||||
! (git log | grep "Author:" | grep "<>")
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
'the rebase operation should not have destroyed author information (2)' \
|
||||
"git log -1 | grep 'Author: $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>'"
|
||||
test_expect_success 'the rebase operation should not have destroyed author information (2)' "
|
||||
git log -1 |
|
||||
grep 'Author: $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>'
|
||||
"
|
||||
|
||||
test_expect_success 'HEAD was detached during rebase' '
|
||||
test $(git rev-parse HEAD@{1}) != $(git rev-parse my-topic-branch@{1})
|
||||
test $(git rev-parse HEAD@{1}) != $(git rev-parse my-topic-branch@{1})
|
||||
'
|
||||
|
||||
test_expect_success 'rebase after merge master' '
|
||||
git reset --hard topic &&
|
||||
git merge master &&
|
||||
git rebase master &&
|
||||
! (git show | grep "^Merge:")
|
||||
git reset --hard topic &&
|
||||
git merge master &&
|
||||
git rebase master &&
|
||||
! (git show | grep "^Merge:")
|
||||
'
|
||||
|
||||
test_expect_success 'rebase of history with merges is linearized' '
|
||||
git checkout nonlinear &&
|
||||
test 4 = $(git rev-list master.. | wc -l) &&
|
||||
git rebase master &&
|
||||
test 3 = $(git rev-list master.. | wc -l)
|
||||
git checkout nonlinear &&
|
||||
test 4 = $(git rev-list master.. | wc -l) &&
|
||||
git rebase master &&
|
||||
test 3 = $(git rev-list master.. | wc -l)
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
'rebase of history with merges after upstream merge is linearized' '
|
||||
git checkout upstream-merged-nonlinear &&
|
||||
test 5 = $(git rev-list master.. | wc -l) &&
|
||||
git rebase master &&
|
||||
test 3 = $(git rev-list master.. | wc -l)
|
||||
test_expect_success 'rebase of history with merges after upstream merge is linearized' '
|
||||
git checkout upstream-merged-nonlinear &&
|
||||
test 5 = $(git rev-list master.. | wc -l) &&
|
||||
git rebase master &&
|
||||
test 3 = $(git rev-list master.. | wc -l)
|
||||
'
|
||||
|
||||
test_expect_success 'rebase a single mode change' '
|
||||
git checkout master &&
|
||||
echo 1 > X &&
|
||||
git add X &&
|
||||
test_tick &&
|
||||
git commit -m prepare &&
|
||||
git checkout -b modechange HEAD^ &&
|
||||
echo 1 > X &&
|
||||
git add X &&
|
||||
test_chmod +x A &&
|
||||
test_tick &&
|
||||
git commit -m modechange &&
|
||||
GIT_TRACE=1 git rebase master
|
||||
git checkout master &&
|
||||
echo 1 >X &&
|
||||
git add X &&
|
||||
test_tick &&
|
||||
git commit -m prepare &&
|
||||
git checkout -b modechange HEAD^ &&
|
||||
echo 1 >X &&
|
||||
git add X &&
|
||||
test_chmod +x A &&
|
||||
test_tick &&
|
||||
git commit -m modechange &&
|
||||
GIT_TRACE=1 git rebase master
|
||||
'
|
||||
|
||||
test_expect_success 'Show verbose error when HEAD could not be detached' '
|
||||
: > B &&
|
||||
test_must_fail git rebase topic 2> output.err > output.out &&
|
||||
grep "Untracked working tree file .B. would be overwritten" output.err
|
||||
>B &&
|
||||
test_must_fail git rebase topic 2>output.err >output.out &&
|
||||
grep "Untracked working tree file .B. would be overwritten" output.err
|
||||
'
|
||||
rm -f B
|
||||
|
||||
test_expect_success 'dump usage when upstream arg is missing' '
|
||||
git checkout -b usage topic &&
|
||||
test_must_fail git rebase 2>error1 &&
|
||||
grep "[Uu]sage" error1 &&
|
||||
test_must_fail git rebase --abort 2>error2 &&
|
||||
grep "No rebase in progress" error2 &&
|
||||
test_must_fail git rebase --onto master 2>error3 &&
|
||||
grep "[Uu]sage" error3 &&
|
||||
! grep "can.t shift" error3
|
||||
git checkout -b usage topic &&
|
||||
test_must_fail git rebase 2>error1 &&
|
||||
grep "[Uu]sage" error1 &&
|
||||
test_must_fail git rebase --abort 2>error2 &&
|
||||
grep "No rebase in progress" error2 &&
|
||||
test_must_fail git rebase --onto master 2>error3 &&
|
||||
grep "[Uu]sage" error3 &&
|
||||
! grep "can.t shift" error3
|
||||
'
|
||||
|
||||
test_expect_success 'rebase -q is quiet' '
|
||||
git checkout -b quiet topic &&
|
||||
git rebase -q master > output.out 2>&1 &&
|
||||
test ! -s output.out
|
||||
git checkout -b quiet topic &&
|
||||
git rebase -q master >output.out 2>&1 &&
|
||||
test ! -s output.out
|
||||
'
|
||||
|
||||
test_expect_success 'Rebase a commit that sprinkles CRs in' '
|
||||
|
Loading…
Reference in New Issue
Block a user