diff options
Diffstat (limited to 't/t4150-am.sh')
-rwxr-xr-x | t/t4150-am.sh | 63 |
1 files changed, 41 insertions, 22 deletions
diff --git a/t/t4150-am.sh b/t/t4150-am.sh index bda4586a79..2aaaa0d7de 100755 --- a/t/t4150-am.sh +++ b/t/t4150-am.sh @@ -2,6 +2,9 @@ test_description='git am running' +GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main +export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME + . ./test-lib.sh test_expect_success 'setup: messages' ' @@ -179,8 +182,8 @@ test_expect_success setup ' test_tick && git commit -m "added another file" && - git format-patch --stdout master >lorem-move.patch && - git format-patch --no-prefix --stdout master >lorem-zero.patch && + git format-patch --stdout main >lorem-move.patch && + git format-patch --no-prefix --stdout main >lorem-zero.patch && git checkout -b rename && git mv file renamed && @@ -453,11 +456,11 @@ test_expect_success 'am changes committer and keeps author' ' git checkout first && git am patch2 && test_path_is_missing .git/rebase-apply && - test "$(git rev-parse master^^)" = "$(git rev-parse HEAD^^)" && - git diff --exit-code master..HEAD && - git diff --exit-code master^..HEAD^ && - compare author master HEAD && - compare author master^ HEAD^ && + test "$(git rev-parse main^^)" = "$(git rev-parse HEAD^^)" && + git diff --exit-code main..HEAD && + git diff --exit-code main^..HEAD^ && + compare author main HEAD && + compare author main^ HEAD^ && test "$GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>" = \ "$(git log -1 --pretty=format:"%cn <%ce>" HEAD)" ' @@ -465,7 +468,7 @@ test_expect_success 'am changes committer and keeps author' ' test_expect_success 'am --signoff adds Signed-off-by: line' ' rm -fr .git/rebase-apply && git reset --hard && - git checkout -b master2 first && + git checkout -b topic_2 first && git am --signoff <patch2 && { printf "third\n\nSigned-off-by: %s <%s>\n\n" \ @@ -479,7 +482,7 @@ test_expect_success 'am --signoff adds Signed-off-by: line' ' ' test_expect_success 'am stays in branch' ' - echo refs/heads/master2 >expected && + echo refs/heads/topic_2 >expected && git symbolic-ref HEAD >actual && test_cmp expected actual ' @@ -540,7 +543,7 @@ test_expect_success 'am without --keep removes Re: and [PATCH] stuff' ' git reset --hard HEAD^ && git am <patch4 && git rev-parse HEAD >expected && - git rev-parse master2 >actual && + git rev-parse topic_2 >actual && test_cmp expected actual ' @@ -567,7 +570,7 @@ test_expect_success 'am --keep-non-patch really keeps the non-patch part' ' test_expect_success 'setup am -3' ' rm -fr .git/rebase-apply && git reset --hard && - git checkout -b base3way master2 && + git checkout -b base3way topic_2 && sed -n -e "3,\$p" msg >file && head -n 9 msg >>file && git add file && @@ -759,7 +762,7 @@ test_expect_success 'am takes patches from a Pine mailbox' ' git checkout first && cat pine patch1 | git am && test_path_is_missing .git/rebase-apply && - git diff --exit-code master^..HEAD + git diff --exit-code main^..HEAD ' test_expect_success 'am fails on mail without patch' ' @@ -903,7 +906,7 @@ test_expect_success 'am empty-file does not infloop' ' test_tick && test_must_fail git am empty-file 2>actual && echo Patch format detection failed. >expected && - test_i18ncmp expected actual + test_cmp expected actual ' test_expect_success 'am --message-id really adds the message id' ' @@ -989,7 +992,7 @@ test_expect_success 'am -s unexpected trailer block' ' Signed-off-by: J C H <j@c.h> EOF git commit -F msg && - git cat-file commit HEAD | sed -e '1,/^$/d' >original && + git cat-file commit HEAD | sed -e "1,/^$/d" >original && git format-patch --stdout -1 >patch && git reset --hard HEAD^ && @@ -998,7 +1001,7 @@ test_expect_success 'am -s unexpected trailer block' ' cat original && echo "Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>" ) >expect && - git cat-file commit HEAD | sed -e '1,/^$/d' >actual && + git cat-file commit HEAD | sed -e "1,/^$/d" >actual && test_cmp expect actual && cat >msg <<-\EOF && @@ -1009,7 +1012,7 @@ test_expect_success 'am -s unexpected trailer block' ' EOF git reset HEAD^ && git commit -F msg file && - git cat-file commit HEAD | sed -e '1,/^$/d' >original && + git cat-file commit HEAD | sed -e "1,/^$/d" >original && git format-patch --stdout -1 >patch && git reset --hard HEAD^ && @@ -1020,7 +1023,7 @@ test_expect_success 'am -s unexpected trailer block' ' echo && echo "Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>" ) >expect && - git cat-file commit HEAD | sed -e '1,/^$/d' >actual && + git cat-file commit HEAD | sed -e "1,/^$/d" >actual && test_cmp expect actual ' @@ -1112,25 +1115,41 @@ test_expect_success 'am and .gitattibutes' ' test_commit sixth && git checkout test && - git format-patch --stdout master..HEAD >patches && - git reset --hard master && + git format-patch --stdout main..HEAD >patches && + git reset --hard main && git am patches && grep "smudged" a.txt && git checkout removal && git reset --hard && - git format-patch --stdout master..HEAD >patches && - git reset --hard master && + git format-patch --stdout main..HEAD >patches && + git reset --hard main && git am patches && grep "clean" a.txt && git checkout conflict && git reset --hard && - git format-patch --stdout master..HEAD >patches && + git format-patch --stdout main..HEAD >patches && git reset --hard fourth && test_must_fail git am -3 patches && grep "<<<<<<<<<<" a.txt ) ' +test_expect_success 'apply binary blob in partial clone' ' + printf "\\000" >binary && + git add binary && + git commit -m "binary blob" && + git format-patch --stdout -m HEAD^ >patch && + + test_create_repo server && + test_config -C server uploadpack.allowfilter 1 && + test_config -C server uploadpack.allowanysha1inwant 1 && + git clone --filter=blob:none "file://$(pwd)/server" client && + test_when_finished "rm -rf client" && + + # Exercise to make sure that it works + git -C client am ../patch +' + test_done |