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
155
third_party/git/t/t7401-submodule-summary.sh
vendored
155
third_party/git/t/t7401-submodule-summary.sh
vendored
|
|
@ -5,9 +5,18 @@
|
|||
|
||||
test_description='Summary support for submodules
|
||||
|
||||
This test tries to verify the sanity of summary subcommand of git submodule.
|
||||
This test script tries to verify the sanity of summary subcommand of git submodule.
|
||||
'
|
||||
|
||||
# NOTE: This test script uses 'git add' instead of 'git submodule add' to add
|
||||
# submodules to the superproject. Some submodule subcommands such as init and
|
||||
# deinit might not work as expected in this script. t7421 does not have this
|
||||
# caveat.
|
||||
#
|
||||
# NEEDSWORK: This test script is old fashioned and may need a big cleanup due to
|
||||
# various reasons, one of them being that there are lots of commands taking place
|
||||
# outside of 'test_expect_success' block, which is no longer in good-style.
|
||||
|
||||
. ./test-lib.sh
|
||||
|
||||
add_file () {
|
||||
|
|
@ -16,12 +25,12 @@ add_file () {
|
|||
owd=$(pwd)
|
||||
cd "$sm"
|
||||
for name; do
|
||||
echo "$name" > "$name" &&
|
||||
echo "$name" >"$name" &&
|
||||
git add "$name" &&
|
||||
test_tick &&
|
||||
git commit -m "Add $name"
|
||||
done >/dev/null
|
||||
git rev-parse --verify HEAD | cut -c1-7
|
||||
git rev-parse --short HEAD
|
||||
cd "$owd"
|
||||
}
|
||||
commit_file () {
|
||||
|
|
@ -38,10 +47,10 @@ test_expect_success 'added submodule' "
|
|||
git add sm1 &&
|
||||
git submodule summary >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
* sm1 0000000...$head1 (2):
|
||||
> Add foo2
|
||||
* sm1 0000000...$head1 (2):
|
||||
> Add foo2
|
||||
|
||||
EOF
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
"
|
||||
|
||||
|
|
@ -52,10 +61,10 @@ test_expect_success 'added submodule (subdirectory)' "
|
|||
git submodule summary >../actual
|
||||
) &&
|
||||
cat >expected <<-EOF &&
|
||||
* ../sm1 0000000...$head1 (2):
|
||||
> Add foo2
|
||||
* ../sm1 0000000...$head1 (2):
|
||||
> Add foo2
|
||||
|
||||
EOF
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
"
|
||||
|
||||
|
|
@ -73,10 +82,10 @@ test_expect_success 'added submodule (subdirectory with explicit path)' "
|
|||
git submodule summary ../sm1 >../actual
|
||||
) &&
|
||||
cat >expected <<-EOF &&
|
||||
* ../sm1 0000000...$head1 (2):
|
||||
> Add foo2
|
||||
* ../sm1 0000000...$head1 (2):
|
||||
> Add foo2
|
||||
|
||||
EOF
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
"
|
||||
|
||||
|
|
@ -86,20 +95,20 @@ head2=$(add_file sm1 foo3)
|
|||
test_expect_success 'modified submodule(forward)' "
|
||||
git submodule summary >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
* sm1 $head1...$head2 (1):
|
||||
> Add foo3
|
||||
* sm1 $head1...$head2 (1):
|
||||
> Add foo3
|
||||
|
||||
EOF
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
"
|
||||
|
||||
test_expect_success 'modified submodule(forward), --files' "
|
||||
git submodule summary --files >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
* sm1 $head1...$head2 (1):
|
||||
> Add foo3
|
||||
* sm1 $head1...$head2 (1):
|
||||
> Add foo3
|
||||
|
||||
EOF
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
"
|
||||
|
||||
|
|
@ -110,10 +119,10 @@ test_expect_success 'no ignore=all setting has any effect' "
|
|||
git config diff.ignoreSubmodules all &&
|
||||
git submodule summary >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
* sm1 $head1...$head2 (1):
|
||||
> Add foo3
|
||||
* sm1 $head1...$head2 (1):
|
||||
> Add foo3
|
||||
|
||||
EOF
|
||||
EOF
|
||||
test_cmp expected actual &&
|
||||
git config --unset diff.ignoreSubmodules &&
|
||||
git config --remove-section submodule.sm1 &&
|
||||
|
|
@ -125,17 +134,17 @@ commit_file sm1 &&
|
|||
head3=$(
|
||||
cd sm1 &&
|
||||
git reset --hard HEAD~2 >/dev/null &&
|
||||
git rev-parse --verify HEAD | cut -c1-7
|
||||
git rev-parse --short HEAD
|
||||
)
|
||||
|
||||
test_expect_success 'modified submodule(backward)' "
|
||||
git submodule summary >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
* sm1 $head2...$head3 (2):
|
||||
< Add foo3
|
||||
< Add foo2
|
||||
* sm1 $head2...$head3 (2):
|
||||
< Add foo3
|
||||
< Add foo2
|
||||
|
||||
EOF
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
"
|
||||
|
||||
|
|
@ -144,25 +153,25 @@ head4_full=$(GIT_DIR=sm1/.git git rev-parse --verify HEAD)
|
|||
test_expect_success 'modified submodule(backward and forward)' "
|
||||
git submodule summary >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
* sm1 $head2...$head4 (4):
|
||||
> Add foo5
|
||||
> Add foo4
|
||||
< Add foo3
|
||||
< Add foo2
|
||||
* sm1 $head2...$head4 (4):
|
||||
> Add foo5
|
||||
> Add foo4
|
||||
< Add foo3
|
||||
< Add foo2
|
||||
|
||||
EOF
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
"
|
||||
|
||||
test_expect_success '--summary-limit' "
|
||||
git submodule summary -n 3 >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
* sm1 $head2...$head4 (4):
|
||||
> Add foo5
|
||||
> Add foo4
|
||||
< Add foo3
|
||||
* sm1 $head2...$head4 (4):
|
||||
> Add foo5
|
||||
> Add foo4
|
||||
< Add foo3
|
||||
|
||||
EOF
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
"
|
||||
|
||||
|
|
@ -177,21 +186,21 @@ mv sm1-bak sm1
|
|||
test_expect_success 'typechanged submodule(submodule->blob), --cached' "
|
||||
git submodule summary --cached >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
* sm1 $head4(submodule)->$head5(blob) (3):
|
||||
< Add foo5
|
||||
* sm1 $head4(submodule)->$head5(blob) (3):
|
||||
< Add foo5
|
||||
|
||||
EOF
|
||||
test_i18ncmp actual expected
|
||||
EOF
|
||||
test_i18ncmp expected actual
|
||||
"
|
||||
|
||||
test_expect_success 'typechanged submodule(submodule->blob), --files' "
|
||||
git submodule summary --files >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
* sm1 $head5(blob)->$head4(submodule) (3):
|
||||
> Add foo5
|
||||
* sm1 $head5(blob)->$head4(submodule) (3):
|
||||
> Add foo5
|
||||
|
||||
EOF
|
||||
test_i18ncmp actual expected
|
||||
EOF
|
||||
test_i18ncmp expected actual
|
||||
"
|
||||
|
||||
rm -rf sm1 &&
|
||||
|
|
@ -199,10 +208,10 @@ git checkout-index sm1
|
|||
test_expect_success 'typechanged submodule(submodule->blob)' "
|
||||
git submodule summary >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
* sm1 $head4(submodule)->$head5(blob):
|
||||
* sm1 $head4(submodule)->$head5(blob):
|
||||
|
||||
EOF
|
||||
test_i18ncmp actual expected
|
||||
EOF
|
||||
test_i18ncmp expected actual
|
||||
"
|
||||
|
||||
rm -f sm1 &&
|
||||
|
|
@ -211,21 +220,21 @@ head6=$(add_file sm1 foo6 foo7)
|
|||
test_expect_success 'nonexistent commit' "
|
||||
git submodule summary >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
* sm1 $head4...$head6:
|
||||
Warn: sm1 doesn't contain commit $head4_full
|
||||
* sm1 $head4...$head6:
|
||||
Warn: sm1 doesn't contain commit $head4_full
|
||||
|
||||
EOF
|
||||
test_i18ncmp actual expected
|
||||
EOF
|
||||
test_i18ncmp expected actual
|
||||
"
|
||||
|
||||
commit_file
|
||||
test_expect_success 'typechanged submodule(blob->submodule)' "
|
||||
git submodule summary >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
* sm1 $head5(blob)->$head6(submodule) (2):
|
||||
> Add foo7
|
||||
* sm1 $head5(blob)->$head6(submodule) (2):
|
||||
> Add foo7
|
||||
|
||||
EOF
|
||||
EOF
|
||||
test_i18ncmp expected actual
|
||||
"
|
||||
|
||||
|
|
@ -234,9 +243,9 @@ rm -rf sm1
|
|||
test_expect_success 'deleted submodule' "
|
||||
git submodule summary >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
* sm1 $head6...0000000:
|
||||
* sm1 $head6...0000000:
|
||||
|
||||
EOF
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
"
|
||||
|
||||
|
|
@ -249,22 +258,22 @@ test_expect_success 'create second submodule' '
|
|||
test_expect_success 'multiple submodules' "
|
||||
git submodule summary >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
* sm1 $head6...0000000:
|
||||
* sm1 $head6...0000000:
|
||||
|
||||
* sm2 0000000...$head7 (2):
|
||||
> Add foo9
|
||||
* sm2 0000000...$head7 (2):
|
||||
> Add foo9
|
||||
|
||||
EOF
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
"
|
||||
|
||||
test_expect_success 'path filter' "
|
||||
git submodule summary sm2 >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
* sm2 0000000...$head7 (2):
|
||||
> Add foo9
|
||||
* sm2 0000000...$head7 (2):
|
||||
> Add foo9
|
||||
|
||||
EOF
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
"
|
||||
|
||||
|
|
@ -272,24 +281,24 @@ commit_file sm2
|
|||
test_expect_success 'given commit' "
|
||||
git submodule summary HEAD^ >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
* sm1 $head6...0000000:
|
||||
* sm1 $head6...0000000:
|
||||
|
||||
* sm2 0000000...$head7 (2):
|
||||
> Add foo9
|
||||
* sm2 0000000...$head7 (2):
|
||||
> Add foo9
|
||||
|
||||
EOF
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
"
|
||||
|
||||
test_expect_success '--for-status' "
|
||||
git submodule summary --for-status HEAD^ >actual &&
|
||||
test_i18ncmp actual - <<EOF
|
||||
* sm1 $head6...0000000:
|
||||
test_i18ncmp - actual <<-EOF
|
||||
* sm1 $head6...0000000:
|
||||
|
||||
* sm2 0000000...$head7 (2):
|
||||
> Add foo9
|
||||
* sm2 0000000...$head7 (2):
|
||||
> Add foo9
|
||||
|
||||
EOF
|
||||
EOF
|
||||
"
|
||||
|
||||
test_expect_success 'fail when using --files together with --cached' "
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue