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
|
|
@ -13,7 +13,39 @@ test_expect_success 'setup commits' '
|
|||
test_commit 2nd &&
|
||||
test_commit 3rd &&
|
||||
test_commit 4th &&
|
||||
test_commit 5th
|
||||
test_commit 5th &&
|
||||
|
||||
test_oid_cache <<-EOF
|
||||
hash04a sha1:6e8e3febca3c2bb896704335cc4d0c34cb2f8715
|
||||
hash03a sha1:e5388c10860456ee60673025345fe2e153eb8cf8
|
||||
hash02a sha1:ceefa674873670e7ecd131814d909723cce2b669
|
||||
hash04b sha1:e2bfd06a37dd2031684a59a6e2b033e212239c78
|
||||
hash03b sha1:5772f42408c0dd6f097a7ca2d24de0e78d1c46b1
|
||||
hash01b sha1:b0a6021ec006d07e80e9b20ec9b444cbd9d560d3
|
||||
hash04c sha1:cff59c793c20bb49a4e01bc06fb06bad642e0d54
|
||||
hash02c sha1:283b48219aee9a4105f6cab337e789065c82c2b9
|
||||
hash01c sha1:0a81da8956346e19bcb27a906f04af327e03e31b
|
||||
hash04d sha1:00494adecf2d9635a02fa431308d67993f853968
|
||||
hash01e sha1:f75d1df88cbfe4258d49852f26cfc83f2ad4494b
|
||||
hash04f sha1:021faa20e931fb48986ffc6282b4bb05553ac946
|
||||
hash01f sha1:0a59e787e6d688aa6309e56e8c1b89431a0fc1c1
|
||||
hash05g sha1:304dfb4325cf243025b9957486eb605a9b51c199
|
||||
|
||||
hash04a sha256:f18a935e65866345098b3b754071dbf9f3aa3520eb27a7b036b278c5e2f1ed7e
|
||||
hash03a sha256:713035dc94067a64e5fa6e4e1821b7c3bde49a77c7cb3f80eaadefa1ca41b3d2
|
||||
hash02a sha256:f160a67e048b6fa75bec3952184154045076692cf5dccd3da21e3fd34b7a3f0f
|
||||
hash04b sha256:c7fba0d6104917fbf35258f40b9fa4fc697cfa992deecd1570a3b08d0a5587a9
|
||||
hash03b sha256:7287a2d78a3766c181b08df38951d784b08b72a44f571ed6d855bd0be22c70f6
|
||||
hash01b sha256:da96cf778c15d0a2bb76f98b2a62f6c9c01730fa7030e8f08ef0191048e7d620
|
||||
hash04c sha256:cb615d2def4b834d5f55b2351df97dc92bee4f5009d285201427f349081c8aca
|
||||
hash02c sha256:63bb527e0b4e1c8e1dd0d54dd778ca7c3718689fd6e37c473044cfbcf1cacfdb
|
||||
hash01c sha256:5b87237ac1fbae0246256fed9f9a1f077c4140fb7e6444925f8dbfa5ae406cd8
|
||||
hash04d sha256:eeddc9f9f6cb3d6b39b861659853f10891dc373e0b6eecb09e03e39b6ce64714
|
||||
hash01e sha256:108f521b1a74c2e6d0b52a4eda87e09162bf847f7d190cfce496ee1af0b29a5a
|
||||
hash04f sha256:901acda0454502b3bbd281f130c419e6c8de78afcf72a8def8d45ad31462bce4
|
||||
hash01f sha256:a2d99d1b8bf23c8af7d9d91368454adc110dfd5cc068a4cebb486ee8f5a1e16c
|
||||
hash05g sha256:4fef015b01da8efe929a68e3bb9b8fbad81f53995f097befe8ebc93f12ab98ec
|
||||
EOF
|
||||
'
|
||||
|
||||
commit_sha1=$(git rev-parse 1st^{commit})
|
||||
|
|
@ -32,10 +64,16 @@ verify_notes () {
|
|||
test_cmp "expect_log_$notes_ref" "output_log_$notes_ref"
|
||||
}
|
||||
|
||||
notes_merge_files_gone () {
|
||||
# No .git/NOTES_MERGE_* files left
|
||||
{ ls .git/NOTES_MERGE_* >output || :; } &&
|
||||
test_must_be_empty output
|
||||
}
|
||||
|
||||
cat <<EOF | sort >expect_notes_x
|
||||
6e8e3febca3c2bb896704335cc4d0c34cb2f8715 $commit_sha4
|
||||
e5388c10860456ee60673025345fe2e153eb8cf8 $commit_sha3
|
||||
ceefa674873670e7ecd131814d909723cce2b669 $commit_sha2
|
||||
$(test_oid hash04a) $commit_sha4
|
||||
$(test_oid hash03a) $commit_sha3
|
||||
$(test_oid hash02a) $commit_sha2
|
||||
EOF
|
||||
|
||||
cat >expect_log_x <<EOF
|
||||
|
|
@ -63,9 +101,9 @@ test_expect_success 'setup merge base (x)' '
|
|||
'
|
||||
|
||||
cat <<EOF | sort >expect_notes_y
|
||||
e2bfd06a37dd2031684a59a6e2b033e212239c78 $commit_sha4
|
||||
5772f42408c0dd6f097a7ca2d24de0e78d1c46b1 $commit_sha3
|
||||
b0a6021ec006d07e80e9b20ec9b444cbd9d560d3 $commit_sha1
|
||||
$(test_oid hash04b) $commit_sha4
|
||||
$(test_oid hash03b) $commit_sha3
|
||||
$(test_oid hash01b) $commit_sha1
|
||||
EOF
|
||||
|
||||
cat >expect_log_y <<EOF
|
||||
|
|
@ -95,9 +133,9 @@ test_expect_success 'setup local branch (y)' '
|
|||
'
|
||||
|
||||
cat <<EOF | sort >expect_notes_z
|
||||
cff59c793c20bb49a4e01bc06fb06bad642e0d54 $commit_sha4
|
||||
283b48219aee9a4105f6cab337e789065c82c2b9 $commit_sha2
|
||||
0a81da8956346e19bcb27a906f04af327e03e31b $commit_sha1
|
||||
$(test_oid hash04c) $commit_sha4
|
||||
$(test_oid hash02c) $commit_sha2
|
||||
$(test_oid hash01c) $commit_sha1
|
||||
EOF
|
||||
|
||||
cat >expect_log_z <<EOF
|
||||
|
|
@ -193,9 +231,9 @@ test_expect_success 'merge z into m (== y) with default ("manual") resolver => C
|
|||
'
|
||||
|
||||
cat <<EOF | sort >expect_notes_z
|
||||
00494adecf2d9635a02fa431308d67993f853968 $commit_sha4
|
||||
283b48219aee9a4105f6cab337e789065c82c2b9 $commit_sha2
|
||||
0a81da8956346e19bcb27a906f04af327e03e31b $commit_sha1
|
||||
$(test_oid hash04d) $commit_sha4
|
||||
$(test_oid hash02c) $commit_sha2
|
||||
$(test_oid hash01c) $commit_sha1
|
||||
EOF
|
||||
|
||||
cat >expect_log_z <<EOF
|
||||
|
|
@ -231,8 +269,8 @@ test_expect_success 'cannot do merge w/conflicts when previous merge is unfinish
|
|||
# Setup non-conflicting merge between x and new notes ref w
|
||||
|
||||
cat <<EOF | sort >expect_notes_w
|
||||
ceefa674873670e7ecd131814d909723cce2b669 $commit_sha2
|
||||
f75d1df88cbfe4258d49852f26cfc83f2ad4494b $commit_sha1
|
||||
$(test_oid hash02a) $commit_sha2
|
||||
$(test_oid hash01e) $commit_sha1
|
||||
EOF
|
||||
|
||||
cat >expect_log_w <<EOF
|
||||
|
|
@ -258,10 +296,10 @@ test_expect_success 'setup unrelated notes ref (w)' '
|
|||
'
|
||||
|
||||
cat <<EOF | sort >expect_notes_w
|
||||
6e8e3febca3c2bb896704335cc4d0c34cb2f8715 $commit_sha4
|
||||
e5388c10860456ee60673025345fe2e153eb8cf8 $commit_sha3
|
||||
ceefa674873670e7ecd131814d909723cce2b669 $commit_sha2
|
||||
f75d1df88cbfe4258d49852f26cfc83f2ad4494b $commit_sha1
|
||||
$(test_oid hash04a) $commit_sha4
|
||||
$(test_oid hash03a) $commit_sha3
|
||||
$(test_oid hash02a) $commit_sha2
|
||||
$(test_oid hash01e) $commit_sha1
|
||||
EOF
|
||||
|
||||
cat >expect_log_w <<EOF
|
||||
|
|
@ -291,10 +329,10 @@ test_expect_success 'can do merge without conflicts even if previous merge is un
|
|||
'
|
||||
|
||||
cat <<EOF | sort >expect_notes_m
|
||||
021faa20e931fb48986ffc6282b4bb05553ac946 $commit_sha4
|
||||
5772f42408c0dd6f097a7ca2d24de0e78d1c46b1 $commit_sha3
|
||||
283b48219aee9a4105f6cab337e789065c82c2b9 $commit_sha2
|
||||
0a59e787e6d688aa6309e56e8c1b89431a0fc1c1 $commit_sha1
|
||||
$(test_oid hash04f) $commit_sha4
|
||||
$(test_oid hash03b) $commit_sha3
|
||||
$(test_oid hash02c) $commit_sha2
|
||||
$(test_oid hash01f) $commit_sha1
|
||||
EOF
|
||||
|
||||
cat >expect_log_m <<EOF
|
||||
|
|
@ -335,9 +373,7 @@ EOF
|
|||
y and z notes on 4th commit
|
||||
EOF
|
||||
git notes merge --commit &&
|
||||
# No .git/NOTES_MERGE_* files left
|
||||
test_might_fail ls .git/NOTES_MERGE_* >output 2>/dev/null &&
|
||||
test_must_be_empty output &&
|
||||
notes_merge_files_gone &&
|
||||
# Merge commit has pre-merge y and pre-merge z as parents
|
||||
test "$(git rev-parse refs/notes/m^1)" = "$(cat pre_merge_y)" &&
|
||||
test "$(git rev-parse refs/notes/m^2)" = "$(cat pre_merge_z)" &&
|
||||
|
|
@ -397,9 +433,7 @@ test_expect_success 'redo merge of z into m (== y) with default ("manual") resol
|
|||
|
||||
test_expect_success 'abort notes merge' '
|
||||
git notes merge --abort &&
|
||||
# No .git/NOTES_MERGE_* files left
|
||||
test_might_fail ls .git/NOTES_MERGE_* >output 2>/dev/null &&
|
||||
test_must_be_empty output &&
|
||||
notes_merge_files_gone &&
|
||||
# m has not moved (still == y)
|
||||
test "$(git rev-parse refs/notes/m)" = "$(cat pre_merge_y)" &&
|
||||
# Verify that other notes refs has not changed (w, x, y and z)
|
||||
|
|
@ -430,9 +464,9 @@ test_expect_success 'redo merge of z into m (== y) with default ("manual") resol
|
|||
'
|
||||
|
||||
cat <<EOF | sort >expect_notes_m
|
||||
304dfb4325cf243025b9957486eb605a9b51c199 $commit_sha5
|
||||
283b48219aee9a4105f6cab337e789065c82c2b9 $commit_sha2
|
||||
0a59e787e6d688aa6309e56e8c1b89431a0fc1c1 $commit_sha1
|
||||
$(test_oid hash05g) $commit_sha5
|
||||
$(test_oid hash02c) $commit_sha2
|
||||
$(test_oid hash01f) $commit_sha1
|
||||
EOF
|
||||
|
||||
cat >expect_log_m <<EOF
|
||||
|
|
@ -464,9 +498,7 @@ EOF
|
|||
echo "new note on 5th commit" > .git/NOTES_MERGE_WORKTREE/$commit_sha5 &&
|
||||
# Finalize merge
|
||||
git notes merge --commit &&
|
||||
# No .git/NOTES_MERGE_* files left
|
||||
test_might_fail ls .git/NOTES_MERGE_* >output 2>/dev/null &&
|
||||
test_must_be_empty output &&
|
||||
notes_merge_files_gone &&
|
||||
# Merge commit has pre-merge y and pre-merge z as parents
|
||||
test "$(git rev-parse refs/notes/m^1)" = "$(cat pre_merge_y)" &&
|
||||
test "$(git rev-parse refs/notes/m^2)" = "$(cat pre_merge_z)" &&
|
||||
|
|
@ -553,9 +585,7 @@ EOF
|
|||
|
||||
test_expect_success 'resolve situation by aborting the notes merge' '
|
||||
git notes merge --abort &&
|
||||
# No .git/NOTES_MERGE_* files left
|
||||
test_might_fail ls .git/NOTES_MERGE_* >output 2>/dev/null &&
|
||||
test_must_be_empty output &&
|
||||
notes_merge_files_gone &&
|
||||
# m has not moved (still == w)
|
||||
test "$(git rev-parse refs/notes/m)" = "$(git rev-parse refs/notes/w)" &&
|
||||
# Verify that other notes refs has not changed (w, x, y and z)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue