diff options
author | Elijah Newren <newren@gmail.com> | 2020-02-15 21:36:29 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-02-16 15:40:42 -0800 |
commit | 93122c985a3671bd4e15b3dbc6b457c981eb8c23 (patch) | |
tree | 5944be3ef00ab57c29f78a2e54e8196c76751b43 /t | |
parent | rebase: make sure to pass along the quiet flag to the sequencer (diff) | |
download | tgif-93122c985a3671bd4e15b3dbc6b457c981eb8c23.tar.xz |
rebase: fix handling of restrict_revision
restrict_revision in the original shell script was an excluded revision
range. It is also treated that way by the am-backend. In the
conversion from shell to C (see commit 6ab54d17be3f ("rebase -i:
implement the logic to initialize $revisions in C", 2018-08-28)), the
interactive-backend accidentally treated it as a positive revision
rather than a negated one.
This was missed as there were no tests in the testsuite that tested an
interactive rebase with fork-point behavior.
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t3400-rebase.sh | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh index 79762b989a..71fd6396cd 100755 --- a/t/t3400-rebase.sh +++ b/t/t3400-rebase.sh @@ -165,11 +165,29 @@ test_expect_success 'rebase works with format.useAutoBase' ' git rebase master ' -test_expect_success 'default to common base in @{upstream}s reflog if no upstream arg' ' +test_expect_success 'default to common base in @{upstream}s reflog if no upstream arg (--merge)' ' 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' ' + 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 && git rev-parse --verify default-base >expect && git rev-parse default~1 >actual && |