ba51d2fb24
There are two backends available for rebasing, viz, the am and the interactive. Naturally, there shall be some features that are implemented in one but not in the other. One such flag is --ignore-whitespace which indicates merge mechanism to treat lines with only whitespace changes as unchanged. Wire the interactive rebase to also understand the --ignore-whitespace flag by translating it to -Xignore-space-change. Signed-off-by: Rohit Ashiwal <rohit.ashiwal265@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
66 lines
1.3 KiB
Bash
Executable File
66 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2019 Rohit Ashiwal
|
|
#
|
|
|
|
test_description='tests to ensure compatibility between am and interactive backends'
|
|
|
|
. ./test-lib.sh
|
|
|
|
# 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 &&
|
|
q_to_tab >file <<-\EOF &&
|
|
line 1
|
|
Qline 2
|
|
line 3
|
|
EOF
|
|
git add file &&
|
|
git commit -m "add file" &&
|
|
cat >file <<-\EOF &&
|
|
line 1
|
|
new line 2
|
|
line 3
|
|
EOF
|
|
git commit -am "update file" &&
|
|
git tag side &&
|
|
|
|
git checkout --orphan master &&
|
|
sed -e "s/^|//" >file <<-\EOF &&
|
|
|line 1
|
|
| line 2
|
|
|line 3
|
|
EOF
|
|
git add file &&
|
|
git commit -m "add file" &&
|
|
git tag main
|
|
'
|
|
|
|
test_expect_success '--ignore-whitespace works with am backend' '
|
|
cat >expect <<-\EOF &&
|
|
line 1
|
|
new line 2
|
|
line 3
|
|
EOF
|
|
test_must_fail git rebase main side &&
|
|
git rebase --abort &&
|
|
git rebase --ignore-whitespace main side &&
|
|
test_cmp expect file
|
|
'
|
|
|
|
test_expect_success '--ignore-whitespace works with interactive backend' '
|
|
cat >expect <<-\EOF &&
|
|
line 1
|
|
new line 2
|
|
line 3
|
|
EOF
|
|
test_must_fail git rebase --merge main side &&
|
|
git rebase --abort &&
|
|
git rebase --merge --ignore-whitespace main side &&
|
|
test_cmp expect file
|
|
'
|
|
|
|
test_done
|