Squashed 'third_party/git/' content from commit cb71568594
git-subtree-dir: third_party/git git-subtree-split: cb715685942260375e1eb8153b0768a376e4ece7
This commit is contained in:
commit
1b593e1ea4
3629 changed files with 1139935 additions and 0 deletions
126
t/t3417-rebase-whitespace-fix.sh
Executable file
126
t/t3417-rebase-whitespace-fix.sh
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
#!/bin/sh
|
||||
|
||||
test_description='git rebase --whitespace=fix
|
||||
|
||||
This test runs git rebase --whitespace=fix and make sure that it works.
|
||||
'
|
||||
|
||||
. ./test-lib.sh
|
||||
|
||||
# prepare initial revision of "file" with a blank line at the end
|
||||
cat >file <<EOF
|
||||
a
|
||||
b
|
||||
c
|
||||
|
||||
EOF
|
||||
|
||||
# expected contents in "file" after rebase
|
||||
cat >expect-first <<EOF
|
||||
a
|
||||
b
|
||||
c
|
||||
EOF
|
||||
|
||||
# prepare second revision of "file"
|
||||
cat >second <<EOF
|
||||
a
|
||||
b
|
||||
c
|
||||
|
||||
d
|
||||
e
|
||||
f
|
||||
|
||||
|
||||
|
||||
|
||||
EOF
|
||||
|
||||
# expected contents in second revision after rebase
|
||||
cat >expect-second <<EOF
|
||||
a
|
||||
b
|
||||
c
|
||||
|
||||
d
|
||||
e
|
||||
f
|
||||
EOF
|
||||
|
||||
test_expect_success 'blank line at end of file; extend at end of file' '
|
||||
git commit --allow-empty -m "Initial empty commit" &&
|
||||
git add file && git commit -m first &&
|
||||
mv second file &&
|
||||
git add file && git commit -m second &&
|
||||
git rebase --whitespace=fix HEAD^^ &&
|
||||
git diff --exit-code HEAD^:file expect-first &&
|
||||
test_cmp expect-second file
|
||||
'
|
||||
|
||||
# prepare third revision of "file"
|
||||
sed -e's/Z//' >third <<EOF
|
||||
a
|
||||
b
|
||||
c
|
||||
|
||||
d
|
||||
e
|
||||
f
|
||||
Z
|
||||
Z
|
||||
h
|
||||
i
|
||||
j
|
||||
k
|
||||
l
|
||||
EOF
|
||||
|
||||
sed -e's/ //g' <third >expect-third
|
||||
|
||||
test_expect_success 'two blanks line at end of file; extend at end of file' '
|
||||
cp third file && git add file && git commit -m third &&
|
||||
git rebase --whitespace=fix HEAD^^ &&
|
||||
git diff --exit-code HEAD^:file expect-second &&
|
||||
test_cmp expect-third file
|
||||
'
|
||||
|
||||
test_expect_success 'same, but do not remove trailing spaces' '
|
||||
git config core.whitespace "-blank-at-eol" &&
|
||||
git reset --hard HEAD^ &&
|
||||
cp third file && git add file && git commit -m third &&
|
||||
git rebase --whitespace=fix HEAD^^ &&
|
||||
git diff --exit-code HEAD^:file expect-second &&
|
||||
test_cmp file third
|
||||
'
|
||||
|
||||
sed -e's/Z//' >beginning <<EOF
|
||||
a
|
||||
Z
|
||||
Z
|
||||
EOF
|
||||
|
||||
cat >expect-beginning <<EOF
|
||||
a
|
||||
|
||||
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
EOF
|
||||
|
||||
test_expect_success 'at beginning of file' '
|
||||
git config core.whitespace "blank-at-eol" &&
|
||||
cp beginning file &&
|
||||
git commit -m beginning file &&
|
||||
for i in 1 2 3 4 5; do
|
||||
echo $i
|
||||
done >> file &&
|
||||
git commit -m more file &&
|
||||
git rebase --whitespace=fix HEAD^^ &&
|
||||
test_cmp expect-beginning file
|
||||
'
|
||||
|
||||
test_done
|
||||
Loading…
Add table
Add a link
Reference in a new issue