merge(3p/git): Merge git subtree at v2.29.2
This also bumps the stable nixpkgs to 20.09 as of 2020-11-21, because there is some breakage in the git build related to the netrc credentials helper which someone has taken care of in nixpkgs. The stable channel is not used for anything other than git, so this should be fine. Change-Id: I3575a19dab09e1e9556cf8231d717de9890484fb
This commit is contained in:
parent
082c006c04
commit
f4609b896f
1485 changed files with 241535 additions and 109418 deletions
106
third_party/git/t/t4150-am.sh
vendored
106
third_party/git/t/t4150-am.sh
vendored
|
@ -166,7 +166,7 @@ test_expect_success setup '
|
|||
test_tick &&
|
||||
git commit -m third &&
|
||||
|
||||
git format-patch --stdout first >patch2 &&
|
||||
git format-patch --stdout first >patch2 &&
|
||||
|
||||
git checkout -b lorem &&
|
||||
sed -n -e "11,\$p" msg >file &&
|
||||
|
@ -465,7 +465,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 +479,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 +540,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 +567,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 &&
|
||||
|
@ -666,6 +666,26 @@ test_expect_success 'am --show-current-patch' '
|
|||
test_cmp .git/rebase-apply/0001 actual.patch
|
||||
'
|
||||
|
||||
test_expect_success 'am --show-current-patch=raw' '
|
||||
git am --show-current-patch=raw >actual.patch &&
|
||||
test_cmp .git/rebase-apply/0001 actual.patch
|
||||
'
|
||||
|
||||
test_expect_success 'am --show-current-patch=diff' '
|
||||
git am --show-current-patch=diff >actual.patch &&
|
||||
test_cmp .git/rebase-apply/patch actual.patch
|
||||
'
|
||||
|
||||
test_expect_success 'am accepts repeated --show-current-patch' '
|
||||
git am --show-current-patch --show-current-patch=raw >actual.patch &&
|
||||
test_cmp .git/rebase-apply/0001 actual.patch
|
||||
'
|
||||
|
||||
test_expect_success 'am detects incompatible --show-current-patch' '
|
||||
test_must_fail git am --show-current-patch=raw --show-current-patch=diff &&
|
||||
test_must_fail git am --show-current-patch --show-current-patch=diff
|
||||
'
|
||||
|
||||
test_expect_success 'am --skip works' '
|
||||
echo goodbye >expected &&
|
||||
git am --skip &&
|
||||
|
@ -969,7 +989,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^ &&
|
||||
|
@ -978,7 +998,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 &&
|
||||
|
@ -989,7 +1009,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^ &&
|
||||
|
@ -1000,7 +1020,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
|
||||
'
|
||||
|
||||
|
@ -1061,4 +1081,72 @@ test_expect_success 'am --quit keeps HEAD where it is' '
|
|||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'am and .gitattibutes' '
|
||||
test_create_repo attributes &&
|
||||
(
|
||||
cd attributes &&
|
||||
test_commit init &&
|
||||
git config filter.test.clean "sed -e '\''s/smudged/clean/g'\''" &&
|
||||
git config filter.test.smudge "sed -e '\''s/clean/smudged/g'\''" &&
|
||||
|
||||
test_commit second &&
|
||||
git checkout -b test HEAD^ &&
|
||||
|
||||
echo "*.txt filter=test conflict-marker-size=10" >.gitattributes &&
|
||||
git add .gitattributes &&
|
||||
test_commit third &&
|
||||
|
||||
echo "This text is smudged." >a.txt &&
|
||||
git add a.txt &&
|
||||
test_commit fourth &&
|
||||
|
||||
git checkout -b removal HEAD^ &&
|
||||
git rm .gitattributes &&
|
||||
git add -u &&
|
||||
test_commit fifth &&
|
||||
git cherry-pick test &&
|
||||
|
||||
git checkout -b conflict third &&
|
||||
echo "This text is different." >a.txt &&
|
||||
git add a.txt &&
|
||||
test_commit sixth &&
|
||||
|
||||
git checkout test &&
|
||||
git format-patch --stdout master..HEAD >patches &&
|
||||
git reset --hard master &&
|
||||
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 am patches &&
|
||||
grep "clean" a.txt &&
|
||||
|
||||
git checkout conflict &&
|
||||
git reset --hard &&
|
||||
git format-patch --stdout master..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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue