diff options
Diffstat (limited to 'third_party/git/t/t3436-rebase-more-options.sh')
-rwxr-xr-x | third_party/git/t/t3436-rebase-more-options.sh | 180 |
1 files changed, 0 insertions, 180 deletions
diff --git a/third_party/git/t/t3436-rebase-more-options.sh b/third_party/git/t/t3436-rebase-more-options.sh deleted file mode 100755 index eaaf4c8d1d8c..000000000000 --- a/third_party/git/t/t3436-rebase-more-options.sh +++ /dev/null @@ -1,180 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2019 Rohit Ashiwal -# - -test_description='tests to ensure compatibility between am and interactive backends' - -. ./test-lib.sh - -. "$TEST_DIRECTORY"/lib-rebase.sh - -GIT_AUTHOR_DATE="1999-04-02T08:03:20+05:30" -export GIT_AUTHOR_DATE - -# This is a special case in which both am and interactive backends -# provide the same output. It was done intentionally because -# both the backends fall short of optimal behaviour. -test_expect_success 'setup' ' - git checkout -b topic && - test_write_lines "line 1" " line 2" "line 3" >file && - git add file && - git commit -m "add file" && - - test_write_lines "line 1" "new line 2" "line 3" >file && - git commit -am "update file" && - git tag side && - test_commit commit1 foo foo1 && - test_commit commit2 foo foo2 && - test_commit commit3 foo foo3 && - - git checkout --orphan master && - rm foo && - test_write_lines "line 1" " line 2" "line 3" >file && - git commit -am "add file" && - git tag main && - - mkdir test-bin && - write_script test-bin/git-merge-test <<-\EOF - exec git merge-recursive "$@" - EOF -' - -test_expect_success '--ignore-whitespace works with apply backend' ' - test_must_fail git rebase --apply main side && - git rebase --abort && - git rebase --apply --ignore-whitespace main side && - git diff --exit-code side -' - -test_expect_success '--ignore-whitespace works with merge backend' ' - test_must_fail git rebase --merge main side && - git rebase --abort && - git rebase --merge --ignore-whitespace main side && - git diff --exit-code side -' - -test_expect_success '--ignore-whitespace is remembered when continuing' ' - ( - set_fake_editor && - FAKE_LINES="break 1" git rebase -i --ignore-whitespace \ - main side && - git rebase --continue - ) && - git diff --exit-code side -' - -test_ctime_is_atime () { - git log $1 --format="$GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> %ai" >authortime && - git log $1 --format="%cn <%ce> %ci" >committertime && - test_cmp authortime committertime -} - -test_expect_success '--committer-date-is-author-date works with apply backend' ' - GIT_AUTHOR_DATE="@1234 +0300" git commit --amend --reset-author && - git rebase --apply --committer-date-is-author-date HEAD^ && - test_ctime_is_atime -1 -' - -test_expect_success '--committer-date-is-author-date works with merge backend' ' - GIT_AUTHOR_DATE="@1234 +0300" git commit --amend --reset-author && - git rebase -m --committer-date-is-author-date HEAD^ && - test_ctime_is_atime -1 -' - -test_expect_success '--committer-date-is-author-date works with rebase -r' ' - git checkout side && - GIT_AUTHOR_DATE="@1234 +0300" git merge --no-ff commit3 && - git rebase -r --root --committer-date-is-author-date && - test_ctime_is_atime -' - -test_expect_success '--committer-date-is-author-date works when forking merge' ' - git checkout side && - GIT_AUTHOR_DATE="@1234 +0300" git merge --no-ff commit3 && - PATH="./test-bin:$PATH" git rebase -r --root --strategy=test \ - --committer-date-is-author-date && - test_ctime_is_atime -' - -test_expect_success '--committer-date-is-author-date works when committing conflict resolution' ' - git checkout commit2 && - GIT_AUTHOR_DATE="@1980 +0000" git commit --amend --only --reset-author && - test_must_fail git rebase -m --committer-date-is-author-date \ - --onto HEAD^^ HEAD^ && - echo resolved > foo && - git add foo && - git rebase --continue && - test_ctime_is_atime -1 -' - -# Checking for +0000 in the author date is sufficient since the -# default timezone is UTC but the timezone used while committing is -# +0530. The inverted logic in the grep is necessary to check all the -# author dates in the file. -test_atime_is_ignored () { - git log $1 --format=%ai >authortime && - ! grep -v +0000 authortime -} - -test_expect_success '--reset-author-date works with apply backend' ' - git commit --amend --date="$GIT_AUTHOR_DATE" && - git rebase --apply --reset-author-date HEAD^ && - test_atime_is_ignored -1 -' - -test_expect_success '--reset-author-date works with merge backend' ' - git commit --amend --date="$GIT_AUTHOR_DATE" && - git rebase --reset-author-date -m HEAD^ && - test_atime_is_ignored -1 -' - -test_expect_success '--reset-author-date works after conflict resolution' ' - test_must_fail git rebase --reset-author-date -m \ - --onto commit2^^ commit2^ commit2 && - echo resolved >foo && - git add foo && - git rebase --continue && - test_atime_is_ignored -1 -' - -test_expect_success '--reset-author-date works with rebase -r' ' - git checkout side && - git merge --no-ff commit3 && - git rebase -r --root --reset-author-date && - test_atime_is_ignored -' - -test_expect_success '--reset-author-date with --committer-date-is-author-date works' ' - test_must_fail git rebase -m --committer-date-is-author-date \ - --reset-author-date --onto commit2^^ commit2^ commit3 && - git checkout --theirs foo && - git add foo && - git rebase --continue && - test_ctime_is_atime -2 && - test_atime_is_ignored -2 -' - -test_expect_success '--reset-author-date --committer-date-is-author-date works when forking merge' ' - GIT_SEQUENCE_EDITOR="echo \"merge -C $(git rev-parse HEAD) commit3\">" \ - PATH="./test-bin:$PATH" git rebase -i --strategy=test \ - --reset-author-date \ - --committer-date-is-author-date side side && - test_ctime_is_atime -1 && - test_atime_is_ignored -1 - ' - -test_expect_success '--ignore-date is an alias for --reset-author-date' ' - git commit --amend --date="$GIT_AUTHOR_DATE" && - git rebase --apply --ignore-date HEAD^ && - git commit --allow-empty -m empty --date="$GIT_AUTHOR_DATE" && - git rebase -m --ignore-date HEAD^ && - test_atime_is_ignored -2 -' - -# This must be the last test in this file -test_expect_success '$EDITOR and friends are unchanged' ' - test_editor_unchanged -' - -test_done |