diff options
Diffstat (limited to 'third_party/git/t/t3400-rebase.sh')
-rwxr-xr-x | third_party/git/t/t3400-rebase.sh | 102 |
1 files changed, 9 insertions, 93 deletions
diff --git a/third_party/git/t/t3400-rebase.sh b/third_party/git/t/t3400-rebase.sh index 40d297599584..80b23fd3269c 100755 --- a/third_party/git/t/t3400-rebase.sh +++ b/third_party/git/t/t3400-rebase.sh @@ -64,7 +64,7 @@ test_expect_success 'rebase sets ORIG_HEAD to pre-rebase state' ' pre="$(git rev-parse --verify HEAD)" && git rebase master && test_cmp_rev "$pre" ORIG_HEAD && - test_cmp_rev ! "$pre" HEAD + ! test_cmp_rev "$pre" HEAD ' test_expect_success 'rebase, with <onto> and <upstream> specified as :/quuxery' ' @@ -143,11 +143,11 @@ test_expect_success 'setup: recover' ' test_expect_success 'Show verbose error when HEAD could not be detached' ' >B && - test_when_finished "rm -f B" && test_must_fail git rebase topic 2>output.err >output.out && test_i18ngrep "The following untracked working tree files would be overwritten by checkout:" output.err && test_i18ngrep B output.err ' +rm -f B test_expect_success 'fail when upstream arg is missing and not on branch' ' git checkout topic && @@ -159,43 +159,19 @@ test_expect_success 'fail when upstream arg is missing and not configured' ' test_must_fail git rebase ' -test_expect_success 'rebase works with format.useAutoBase' ' - test_config format.useAutoBase true && - git checkout topic && - git rebase master -' - -test_expect_success 'default to common base in @{upstream}s reflog if no upstream arg (--merge)' ' +test_expect_success 'default to common base in @{upstream}s reflog if no upstream arg' ' git checkout -b default-base master && git checkout -b default topic && git config branch.default.remote . && git config branch.default.merge refs/heads/default-base && - git rebase --merge && - git rev-parse --verify default-base >expect && - git rev-parse default~1 >actual && - test_cmp expect actual && - git checkout default-base && - git reset --hard HEAD^ && - git checkout default && - git rebase --merge && - git rev-parse --verify default-base >expect && - git rev-parse default~1 >actual && - test_cmp expect actual -' - -test_expect_success 'default to common base in @{upstream}s reflog if no upstream arg (--apply)' ' - git checkout -B default-base master && - git checkout -B default topic && - git config branch.default.remote . && - git config branch.default.merge refs/heads/default-base && - git rebase --apply && + git rebase && git rev-parse --verify default-base >expect && git rev-parse default~1 >actual && test_cmp expect actual && git checkout default-base && git reset --hard HEAD^ && git checkout default && - git rebase --apply && + git rebase && git rev-parse --verify default-base >expect && git rev-parse default~1 >actual && test_cmp expect actual @@ -224,15 +200,9 @@ test_expect_success 'cherry-picked commits and fork-point work together' ' test_cmp expect D ' -test_expect_success 'rebase --apply -q is quiet' ' +test_expect_success 'rebase -q is quiet' ' git checkout -b quiet topic && - git rebase --apply -q master >output.out 2>&1 && - test_must_be_empty output.out -' - -test_expect_success 'rebase --merge -q is quiet' ' - git checkout -B quiet topic && - git rebase --merge -q master >output.out 2>&1 && + git rebase -q master >output.out 2>&1 && test_must_be_empty output.out ' @@ -315,7 +285,7 @@ EOF test_cmp From_.msg out ' -test_expect_success 'rebase --apply and --show-current-patch' ' +test_expect_success 'rebase --am and --show-current-patch' ' test_create_repo conflict-apply && ( cd conflict-apply && @@ -325,48 +295,12 @@ test_expect_success 'rebase --apply and --show-current-patch' ' echo two >>init.t && git commit -a -m two && git tag two && - test_must_fail git rebase --apply -f --onto init HEAD^ && + test_must_fail git rebase --onto init HEAD^ && GIT_TRACE=1 git rebase --show-current-patch >/dev/null 2>stderr && grep "show.*$(git rev-parse two)" stderr ) ' -test_expect_success 'rebase --apply and .gitattributes' ' - test_create_repo attributes && - ( - cd attributes && - test_commit init && - git config filter.test.clean "sed -e '\''s/smudged/clean/g'\''" && - git config filter.test.smudge "sed -e '\''s/clean/smudged/g'\''" && - - test_commit second && - git checkout -b test HEAD^ && - - echo "*.txt filter=test" >.gitattributes && - git add .gitattributes && - test_commit third && - - echo "This text is smudged." >a.txt && - git add a.txt && - test_commit fourth && - - git checkout -b removal HEAD^ && - git rm .gitattributes && - git add -u && - test_commit fifth && - git cherry-pick test && - - git checkout test && - git rebase master && - grep "smudged" a.txt && - - git checkout removal && - git reset --hard && - git rebase master && - grep "clean" a.txt - ) -' - test_expect_success 'rebase--merge.sh and --show-current-patch' ' test_create_repo conflict-merge && ( @@ -401,22 +335,4 @@ test_expect_success 'rebase -c rebase.useBuiltin=false warning' ' test_must_be_empty err ' -test_expect_success 'switch to branch checked out here' ' - git checkout master && - git rebase master master -' - -test_expect_success 'switch to branch not checked out' ' - git checkout master && - git branch other && - git rebase master other -' - -test_expect_success 'refuse to switch to branch checked out elsewhere' ' - git checkout master && - git worktree add wt && - test_must_fail git -C wt rebase master master 2>err && - test_i18ngrep "already checked out" err -' - test_done |