mirror of
https://github.com/git/git.git
synced 2024-12-15 12:53:36 +08:00
8f37854b18
Carefully excluding t4013 and t4015, which see independent development elsewhere at the time of writing, we use `main` as the default branch name in t4*. This trick was performed via $ (cd t && sed -i -e 's/master/main/g' -e 's/MASTER/MAIN/g' \ -e 's/Master/Main/g' -- t4*.sh t4211/*.export && git checkout HEAD -- t4013\*) This allows us to define `GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main` for those tests. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
102 lines
2.4 KiB
Bash
Executable File
102 lines
2.4 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2010 Stefan-W. Hahn
|
|
#
|
|
|
|
test_description='git-am mbox with dos line ending.
|
|
|
|
'
|
|
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
|
|
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
|
|
|
. ./test-lib.sh
|
|
|
|
# Three patches which will be added as files with dos line ending.
|
|
|
|
cat >file1 <<\EOF
|
|
line 1
|
|
EOF
|
|
|
|
cat >file1a <<\EOF
|
|
line 1
|
|
line 4
|
|
EOF
|
|
|
|
cat >file2 <<\EOF
|
|
line 1
|
|
line 2
|
|
EOF
|
|
|
|
cat >file3 <<\EOF
|
|
line 1
|
|
line 2
|
|
line 3
|
|
EOF
|
|
|
|
test_expect_success 'setup repository with dos files' '
|
|
append_cr <file1 >file &&
|
|
git add file &&
|
|
git commit -m Initial &&
|
|
git tag initial &&
|
|
append_cr <file2 >file &&
|
|
git commit -a -m Second &&
|
|
append_cr <file3 >file &&
|
|
git commit -a -m Third
|
|
'
|
|
|
|
test_expect_success 'am with dos files without --keep-cr' '
|
|
git checkout -b dosfiles initial &&
|
|
git format-patch -k initial..main &&
|
|
test_must_fail git am -k -3 000*.patch &&
|
|
git am --abort &&
|
|
rm -rf .git/rebase-apply 000*.patch
|
|
'
|
|
|
|
test_expect_success 'am with dos files with --keep-cr' '
|
|
git checkout -b dosfiles-keep-cr initial &&
|
|
git format-patch -k --stdout initial..main >output &&
|
|
git am --keep-cr -k -3 output &&
|
|
git diff --exit-code main
|
|
'
|
|
|
|
test_expect_success 'am with dos files config am.keepcr' '
|
|
git config am.keepcr 1 &&
|
|
git checkout -b dosfiles-conf-keepcr initial &&
|
|
git format-patch -k --stdout initial..main >output &&
|
|
git am -k -3 output &&
|
|
git diff --exit-code main
|
|
'
|
|
|
|
test_expect_success 'am with dos files config am.keepcr overridden by --no-keep-cr' '
|
|
git config am.keepcr 1 &&
|
|
git checkout -b dosfiles-conf-keepcr-override initial &&
|
|
git format-patch -k initial..main &&
|
|
test_must_fail git am -k -3 --no-keep-cr 000*.patch &&
|
|
git am --abort &&
|
|
rm -rf .git/rebase-apply 000*.patch
|
|
'
|
|
|
|
test_expect_success 'am with dos files with --keep-cr continue' '
|
|
git checkout -b dosfiles-keep-cr-continue initial &&
|
|
git format-patch -k initial..main &&
|
|
append_cr <file1a >file &&
|
|
git commit -m "different patch" file &&
|
|
test_must_fail git am --keep-cr -k -3 000*.patch &&
|
|
append_cr <file2 >file &&
|
|
git add file &&
|
|
git am -3 --resolved &&
|
|
git diff --exit-code main
|
|
'
|
|
|
|
test_expect_success 'am with unix files config am.keepcr overridden by --no-keep-cr' '
|
|
git config am.keepcr 1 &&
|
|
git checkout -b unixfiles-conf-keepcr-override initial &&
|
|
cp -f file1 file &&
|
|
git commit -m "line ending to unix" file &&
|
|
git format-patch -k initial..main &&
|
|
git am -k -3 --no-keep-cr 000*.patch &&
|
|
git diff --exit-code -w main
|
|
'
|
|
|
|
test_done
|