Merge branch 'bc/hash-independent-tests-part-8'
Preparation for SHA-256 migration continues. * bc/hash-independent-tests-part-8: (21 commits) t6024: update for SHA-256 t6006: make hash size independent t6000: abstract away SHA-1-specific constants t5703: make test work with SHA-256 t5607: make hash size independent t5318: update for SHA-256 t5515: make test hash independent t5321: make test hash independent t5313: make test hash independent t5309: make test hash independent t5302: make hash size independent t4060: make test work with SHA-256 t4211: add test cases for SHA-256 t4211: move SHA-1-specific test cases into a directory t4013: make test hash independent t3311: make test work with SHA-256 t3310: make test work with SHA-256 t3309: make test work with SHA-256 t3308: make test work with SHA-256 t3206: make hash size independent ...
This commit is contained in:
commit
5af345a438
@ -35,9 +35,11 @@ pack_header () {
|
|||||||
# have hardcoded some well-known objects. See the case statements below for the
|
# have hardcoded some well-known objects. See the case statements below for the
|
||||||
# complete list.
|
# complete list.
|
||||||
pack_obj () {
|
pack_obj () {
|
||||||
|
test_oid_init
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
# empty blob
|
# empty blob
|
||||||
e69de29bb2d1d6434b8b29ae775ad8c2e48c5391)
|
$EMPTY_BLOB)
|
||||||
case "$2" in
|
case "$2" in
|
||||||
'')
|
'')
|
||||||
printf '\060\170\234\003\0\0\0\0\1'
|
printf '\060\170\234\003\0\0\0\0\1'
|
||||||
@ -47,7 +49,7 @@ pack_obj () {
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
# blob containing "\7\76"
|
# blob containing "\7\76"
|
||||||
e68fe8129b546b101aee9510c5328e7f21ca1d18)
|
$(test_oid packlib_7_76))
|
||||||
case "$2" in
|
case "$2" in
|
||||||
'')
|
'')
|
||||||
printf '\062\170\234\143\267\3\0\0\116\0\106'
|
printf '\062\170\234\143\267\3\0\0\116\0\106'
|
||||||
@ -59,11 +61,18 @@ pack_obj () {
|
|||||||
printf '\234\143\142\142\142\267\003\0\0\151\0\114'
|
printf '\234\143\142\142\142\267\003\0\0\151\0\114'
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
|
37c8e2c15bb22b912e59b43fd51a4f7e9465ed0b5084c5a1411d991cbe630683)
|
||||||
|
printf '\165\67\310\342\301\133\262\53\221\56\131' &&
|
||||||
|
printf '\264\77\325\32\117\176\224\145\355\13\120' &&
|
||||||
|
printf '\204\305\241\101\35\231\34\276\143\6\203\170' &&
|
||||||
|
printf '\234\143\142\142\142\267\003\0\0\151\0\114'
|
||||||
|
return
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
|
||||||
# blob containing "\7\0"
|
# blob containing "\7\0"
|
||||||
01d7713666f4de822776c7622c10f1b07de280dc)
|
$(test_oid packlib_7_0))
|
||||||
case "$2" in
|
case "$2" in
|
||||||
'')
|
'')
|
||||||
printf '\062\170\234\143\147\0\0\0\20\0\10'
|
printf '\062\170\234\143\147\0\0\0\20\0\10'
|
||||||
@ -75,6 +84,13 @@ pack_obj () {
|
|||||||
printf '\143\142\142\142\147\0\0\0\53\0\16'
|
printf '\143\142\142\142\147\0\0\0\53\0\16'
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
|
5d8e6fc40f2dab00e6983a48523fe57e621f46434cb58dbd4422fba03380d886)
|
||||||
|
printf '\165\135\216\157\304\17\55\253\0\346\230\72' &&
|
||||||
|
printf '\110\122\77\345\176\142\37\106\103\114\265' &&
|
||||||
|
printf '\215\275\104\42\373\240\63\200\330\206\170\234' &&
|
||||||
|
printf '\143\142\142\142\147\0\0\0\53\0\16'
|
||||||
|
return
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -86,7 +102,7 @@ pack_obj () {
|
|||||||
then
|
then
|
||||||
echo "$1" | git pack-objects --stdout >pack_obj.tmp &&
|
echo "$1" | git pack-objects --stdout >pack_obj.tmp &&
|
||||||
size=$(wc -c <pack_obj.tmp) &&
|
size=$(wc -c <pack_obj.tmp) &&
|
||||||
dd if=pack_obj.tmp bs=1 count=$((size - 20 - 12)) skip=12 &&
|
dd if=pack_obj.tmp bs=1 count=$((size - $(test_oid rawsz) - 12)) skip=12 &&
|
||||||
rm -f pack_obj.tmp
|
rm -f pack_obj.tmp
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
@ -97,7 +113,8 @@ pack_obj () {
|
|||||||
|
|
||||||
# Compute and append pack trailer to "$1"
|
# Compute and append pack trailer to "$1"
|
||||||
pack_trailer () {
|
pack_trailer () {
|
||||||
test-tool sha1 -b <"$1" >trailer.tmp &&
|
test_oid_init &&
|
||||||
|
test-tool $(test_oid algo) -b <"$1" >trailer.tmp &&
|
||||||
cat trailer.tmp >>"$1" &&
|
cat trailer.tmp >>"$1" &&
|
||||||
rm -f trailer.tmp
|
rm -f trailer.tmp
|
||||||
}
|
}
|
||||||
@ -108,3 +125,11 @@ pack_trailer () {
|
|||||||
clear_packs () {
|
clear_packs () {
|
||||||
rm -f .git/objects/pack/*
|
rm -f .git/objects/pack/*
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test_oid_cache <<-EOF
|
||||||
|
packlib_7_0 sha1:01d7713666f4de822776c7622c10f1b07de280dc
|
||||||
|
packlib_7_0 sha256:37c8e2c15bb22b912e59b43fd51a4f7e9465ed0b5084c5a1411d991cbe630683
|
||||||
|
|
||||||
|
packlib_7_76 sha1:e68fe8129b546b101aee9510c5328e7f21ca1d18
|
||||||
|
packlib_7_76 sha256:5d8e6fc40f2dab00e6983a48523fe57e621f46434cb58dbd4422fba03380d886
|
||||||
|
EOF
|
||||||
|
@ -102,6 +102,14 @@ test_expect_success 'setup' '
|
|||||||
n3 sha256:3b0a644
|
n3 sha256:3b0a644
|
||||||
n4 sha256:e461653
|
n4 sha256:e461653
|
||||||
|
|
||||||
|
# mode change
|
||||||
|
o1 sha1:4d39cb3
|
||||||
|
o2 sha1:26c107f
|
||||||
|
o3 sha1:4c1e0f5
|
||||||
|
o1 sha256:d0dd598
|
||||||
|
o2 sha256:c4a279e
|
||||||
|
o3 sha256:78459d7
|
||||||
|
|
||||||
# added and removed
|
# added and removed
|
||||||
s1 sha1:096b1ba
|
s1 sha1:096b1ba
|
||||||
s2 sha1:d92e698
|
s2 sha1:d92e698
|
||||||
@ -336,7 +344,7 @@ test_expect_success 'renamed file' '
|
|||||||
test_expect_success 'file with mode only change' '
|
test_expect_success 'file with mode only change' '
|
||||||
git range-diff --no-color --submodule=log topic...mode-only-change >actual &&
|
git range-diff --no-color --submodule=log topic...mode-only-change >actual &&
|
||||||
sed s/Z/\ /g >expect <<-EOF &&
|
sed s/Z/\ /g >expect <<-EOF &&
|
||||||
1: fccce22 ! 1: 4d39cb3 s/4/A/
|
1: $(test_oid t2) ! 1: $(test_oid o1) s/4/A/
|
||||||
@@ Metadata
|
@@ Metadata
|
||||||
ZAuthor: Thomas Rast <trast@inf.ethz.ch>
|
ZAuthor: Thomas Rast <trast@inf.ethz.ch>
|
||||||
Z
|
Z
|
||||||
@ -352,7 +360,7 @@ test_expect_success 'file with mode only change' '
|
|||||||
Z 7
|
Z 7
|
||||||
+
|
+
|
||||||
+ ## other-file (new) ##
|
+ ## other-file (new) ##
|
||||||
2: 147e64e ! 2: 26c107f s/11/B/
|
2: $(test_oid t3) ! 2: $(test_oid o2) s/11/B/
|
||||||
@@ Metadata
|
@@ Metadata
|
||||||
ZAuthor: Thomas Rast <trast@inf.ethz.ch>
|
ZAuthor: Thomas Rast <trast@inf.ethz.ch>
|
||||||
Z
|
Z
|
||||||
@ -368,7 +376,7 @@ test_expect_success 'file with mode only change' '
|
|||||||
Z 14
|
Z 14
|
||||||
+
|
+
|
||||||
+ ## other-file (mode change 100644 => 100755) ##
|
+ ## other-file (mode change 100644 => 100755) ##
|
||||||
3: a63e992 = 3: 4c1e0f5 s/12/B/
|
3: $(test_oid t4) = 3: $(test_oid o3) s/12/B/
|
||||||
EOF
|
EOF
|
||||||
test_cmp expect actual
|
test_cmp expect actual
|
||||||
'
|
'
|
||||||
|
@ -20,7 +20,34 @@ test_expect_success setup '
|
|||||||
git notes add -m "Notes on 3rd commit" 3rd &&
|
git notes add -m "Notes on 3rd commit" 3rd &&
|
||||||
git notes add -m "Notes on 4th commit" 4th &&
|
git notes add -m "Notes on 4th commit" 4th &&
|
||||||
# Copy notes to remote-notes
|
# Copy notes to remote-notes
|
||||||
git fetch . refs/notes/*:refs/remote-notes/origin/*
|
git fetch . refs/notes/*:refs/remote-notes/origin/* &&
|
||||||
|
|
||||||
|
test_oid_init &&
|
||||||
|
test_oid_cache <<-EOF
|
||||||
|
hash4a sha1:5e93d24084d32e1cb61f7070505b9d2530cca987
|
||||||
|
hash3a sha1:8366731eeee53787d2bdf8fc1eff7d94757e8da0
|
||||||
|
hash2a sha1:eede89064cd42441590d6afec6c37b321ada3389
|
||||||
|
hash1a sha1:daa55ffad6cb99bf64226532147ffcaf5ce8bdd1
|
||||||
|
hash5b sha1:0f2efbd00262f2fd41dfae33df8765618eeacd99
|
||||||
|
hash4b sha1:dec2502dac3ea161543f71930044deff93fa945c
|
||||||
|
hash3b sha1:4069cdb399fd45463ec6eef8e051a16a03592d91
|
||||||
|
hash2c sha1:d000d30e6ddcfce3a8122c403226a2ce2fd04d9d
|
||||||
|
hash1c sha1:43add6bd0c8c0bc871ac7991e0f5573cfba27804
|
||||||
|
hash4d sha1:1f257a3a90328557c452f0817d6cc50c89d315d4
|
||||||
|
hash3d sha1:05a4927951bcef347f51486575b878b2b60137f2
|
||||||
|
|
||||||
|
hash4a sha256:eef876be1d32ac2e2e42240e0429325cec116e55e88cb2969899fac695aa762f
|
||||||
|
hash3a sha256:cf7cd1bc091d7ba4166a86df864110e42087cd893a5ae96bc50d637e0290939d
|
||||||
|
hash2a sha256:21ddde7ebce2c285213898cb04deca0fd3209610cf7aaf8222e4e2f45262fae2
|
||||||
|
hash1a sha256:f9fe0eda16c6027732ed9d4295689a03abd16f893be69b3dcbf4037ddb191921
|
||||||
|
hash5b sha256:20046f2244577797a9e3d3f790ea9eca4d8a6bafb2a5570bcb0e03aa02ce100b
|
||||||
|
hash4b sha256:f90563d134c61a95bb88afbd45d48ccc9e919c62aa6fbfcd483302b3e4d8dbcb
|
||||||
|
hash3b sha256:988f2aca9f2d87e93e6a73197c2bb99560cc44a2f92d18653968f956f01221e0
|
||||||
|
hash2c sha256:84153b777b4d42827a756c6578dcdb59d8ae5d1360b874fb37c430150c825c26
|
||||||
|
hash1c sha256:9beb2bc4eef72e4c4087be168a20573e34d993d9ab1883055f23e322afa06567
|
||||||
|
hash4d sha256:32de39dc06e679a7abb2d4a55ede7709b3124340a4a90aa305971b1c72ac319d
|
||||||
|
hash3d sha256:fa73b20e41cbb7541c4c81d1535016131dbfbeb05bf6a71f6115e9cad31c7af5
|
||||||
|
EOF
|
||||||
'
|
'
|
||||||
|
|
||||||
commit_sha1=$(git rev-parse 1st^{commit})
|
commit_sha1=$(git rev-parse 1st^{commit})
|
||||||
@ -40,10 +67,10 @@ verify_notes () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_x
|
cat <<EOF | sort >expect_notes_x
|
||||||
5e93d24084d32e1cb61f7070505b9d2530cca987 $commit_sha4
|
$(test_oid hash4a) $commit_sha4
|
||||||
8366731eeee53787d2bdf8fc1eff7d94757e8da0 $commit_sha3
|
$(test_oid hash3a) $commit_sha3
|
||||||
eede89064cd42441590d6afec6c37b321ada3389 $commit_sha2
|
$(test_oid hash2a) $commit_sha2
|
||||||
daa55ffad6cb99bf64226532147ffcaf5ce8bdd1 $commit_sha1
|
$(test_oid hash1a) $commit_sha1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_x <<EOF
|
cat >expect_log_x <<EOF
|
||||||
@ -126,10 +153,10 @@ test_expect_success 'merge previous notes commit (y^ => y) => No-op' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_y
|
cat <<EOF | sort >expect_notes_y
|
||||||
0f2efbd00262f2fd41dfae33df8765618eeacd99 $commit_sha5
|
$(test_oid hash5b) $commit_sha5
|
||||||
dec2502dac3ea161543f71930044deff93fa945c $commit_sha4
|
$(test_oid hash4b) $commit_sha4
|
||||||
4069cdb399fd45463ec6eef8e051a16a03592d91 $commit_sha3
|
$(test_oid hash3b) $commit_sha3
|
||||||
daa55ffad6cb99bf64226532147ffcaf5ce8bdd1 $commit_sha1
|
$(test_oid hash1a) $commit_sha1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_y <<EOF
|
cat >expect_log_y <<EOF
|
||||||
@ -193,11 +220,11 @@ test_expect_success 'merge empty notes ref (z => y)' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_y
|
cat <<EOF | sort >expect_notes_y
|
||||||
0f2efbd00262f2fd41dfae33df8765618eeacd99 $commit_sha5
|
$(test_oid hash5b) $commit_sha5
|
||||||
dec2502dac3ea161543f71930044deff93fa945c $commit_sha4
|
$(test_oid hash4b) $commit_sha4
|
||||||
4069cdb399fd45463ec6eef8e051a16a03592d91 $commit_sha3
|
$(test_oid hash3b) $commit_sha3
|
||||||
d000d30e6ddcfce3a8122c403226a2ce2fd04d9d $commit_sha2
|
$(test_oid hash2c) $commit_sha2
|
||||||
43add6bd0c8c0bc871ac7991e0f5573cfba27804 $commit_sha1
|
$(test_oid hash1c) $commit_sha1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_y <<EOF
|
cat >expect_log_y <<EOF
|
||||||
@ -231,9 +258,9 @@ test_expect_success 'change notes on other notes ref (y)' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_x
|
cat <<EOF | sort >expect_notes_x
|
||||||
0f2efbd00262f2fd41dfae33df8765618eeacd99 $commit_sha5
|
$(test_oid hash5b) $commit_sha5
|
||||||
1f257a3a90328557c452f0817d6cc50c89d315d4 $commit_sha4
|
$(test_oid hash4d) $commit_sha4
|
||||||
daa55ffad6cb99bf64226532147ffcaf5ce8bdd1 $commit_sha1
|
$(test_oid hash1a) $commit_sha1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_x <<EOF
|
cat >expect_log_x <<EOF
|
||||||
@ -262,10 +289,10 @@ test_expect_success 'change notes on notes ref (x)' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_x
|
cat <<EOF | sort >expect_notes_x
|
||||||
0f2efbd00262f2fd41dfae33df8765618eeacd99 $commit_sha5
|
$(test_oid hash5b) $commit_sha5
|
||||||
1f257a3a90328557c452f0817d6cc50c89d315d4 $commit_sha4
|
$(test_oid hash4d) $commit_sha4
|
||||||
d000d30e6ddcfce3a8122c403226a2ce2fd04d9d $commit_sha2
|
$(test_oid hash2c) $commit_sha2
|
||||||
43add6bd0c8c0bc871ac7991e0f5573cfba27804 $commit_sha1
|
$(test_oid hash1c) $commit_sha1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_x <<EOF
|
cat >expect_log_x <<EOF
|
||||||
@ -296,8 +323,8 @@ test_expect_success 'merge y into x => Non-conflicting 3-way merge' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_w
|
cat <<EOF | sort >expect_notes_w
|
||||||
05a4927951bcef347f51486575b878b2b60137f2 $commit_sha3
|
$(test_oid hash3d) $commit_sha3
|
||||||
d000d30e6ddcfce3a8122c403226a2ce2fd04d9d $commit_sha2
|
$(test_oid hash2c) $commit_sha2
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_w <<EOF
|
cat >expect_log_w <<EOF
|
||||||
@ -326,11 +353,11 @@ test_expect_success 'create notes on new, separate notes ref (w)' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_x
|
cat <<EOF | sort >expect_notes_x
|
||||||
0f2efbd00262f2fd41dfae33df8765618eeacd99 $commit_sha5
|
$(test_oid hash5b) $commit_sha5
|
||||||
1f257a3a90328557c452f0817d6cc50c89d315d4 $commit_sha4
|
$(test_oid hash4d) $commit_sha4
|
||||||
05a4927951bcef347f51486575b878b2b60137f2 $commit_sha3
|
$(test_oid hash3d) $commit_sha3
|
||||||
d000d30e6ddcfce3a8122c403226a2ce2fd04d9d $commit_sha2
|
$(test_oid hash2c) $commit_sha2
|
||||||
43add6bd0c8c0bc871ac7991e0f5573cfba27804 $commit_sha1
|
$(test_oid hash1c) $commit_sha1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_x <<EOF
|
cat >expect_log_x <<EOF
|
||||||
|
@ -23,7 +23,67 @@ test_expect_success 'setup commits' '
|
|||||||
test_commit 12th &&
|
test_commit 12th &&
|
||||||
test_commit 13th &&
|
test_commit 13th &&
|
||||||
test_commit 14th &&
|
test_commit 14th &&
|
||||||
test_commit 15th
|
test_commit 15th &&
|
||||||
|
|
||||||
|
test_oid_cache <<-EOF
|
||||||
|
hash15a sha1:457a85d6c814ea208550f15fcc48f804ac8dc023
|
||||||
|
hash14a sha1:b0c95b954301d69da2bc3723f4cb1680d355937c
|
||||||
|
hash13a sha1:5d30216a129eeffa97d9694ffe8c74317a560315
|
||||||
|
hash12a sha1:dd161bc149470fd890dd4ab52a4cbd79bbd18c36
|
||||||
|
hash11a sha1:7abbc45126d680336fb24294f013a7cdfa3ed545
|
||||||
|
hash10a sha1:b8d03e173f67f6505a76f6e00cf93440200dd9be
|
||||||
|
hash09a sha1:20c613c835011c48a5abe29170a2402ca6354910
|
||||||
|
hash08a sha1:a3daf8a1e4e5dc3409a303ad8481d57bfea7f5d6
|
||||||
|
hash07a sha1:897003322b53bc6ca098e9324ee508362347e734
|
||||||
|
hash06a sha1:11d97fdebfa5ceee540a3da07bce6fa0222bc082
|
||||||
|
hash15b sha1:68b8630d25516028bed862719855b3d6768d7833
|
||||||
|
hash14b sha1:5de7ea7ad4f47e7ff91989fb82234634730f75df
|
||||||
|
hash13b sha1:3a631fdb6f41b05b55d8f4baf20728ba8f6fccbc
|
||||||
|
hash12b sha1:a66055fa82f7a03fe0c02a6aba3287a85abf7c62
|
||||||
|
hash05b sha1:154508c7a0bcad82b6fe4b472bc4c26b3bf0825b
|
||||||
|
hash04b sha1:e2bfd06a37dd2031684a59a6e2b033e212239c78
|
||||||
|
hash03b sha1:5772f42408c0dd6f097a7ca2d24de0e78d1c46b1
|
||||||
|
hash15c sha1:9b4b2c61f0615412da3c10f98ff85b57c04ec765
|
||||||
|
hash11c sha1:7e3c53503a3db8dd996cb62e37c66e070b44b54d
|
||||||
|
hash08c sha1:851e1638784a884c7dd26c5d41f3340f6387413a
|
||||||
|
hash05c sha1:99fc34adfc400b95c67b013115e37e31aa9a6d23
|
||||||
|
hash02c sha1:283b48219aee9a4105f6cab337e789065c82c2b9
|
||||||
|
hash15d sha1:7c4e546efd0fe939f876beb262ece02797880b54
|
||||||
|
hash05d sha1:6c841cc36ea496027290967ca96bd2bef54dbb47
|
||||||
|
hash15e sha1:d682107b8bf7a7aea1e537a8d5cb6a12b60135f1
|
||||||
|
hash05e sha1:357b6ca14c7afd59b7f8b8aaaa6b8b723771135b
|
||||||
|
hash15f sha1:6be90240b5f54594203e25d9f2f64b7567175aee
|
||||||
|
hash05f sha1:660311d7f78dc53db12ac373a43fca7465381a7e
|
||||||
|
|
||||||
|
hash15a sha256:45b1558e5c1b75f570010fa48aaa67bb2289fcd431b34ad81cb4c8b95f4f872a
|
||||||
|
hash14a sha256:6e7af179ea4dd28afdc83ae6912ba0098cdeff764b26a8b750b157dd81749092
|
||||||
|
hash13a sha256:7353089961baf555388e1bac68c67c8ea94b08ccbd97532201cf7f6790703052
|
||||||
|
hash12a sha256:5863e4521689ee1879ceab3b38d39e93ab5b51ec70aaf6a96ad388fbdedfa25e
|
||||||
|
hash11a sha256:82a0ec0338b4ecf8b44304badf4ad38d7469dc41827f38d7ba6c42e3bae3ee98
|
||||||
|
hash10a sha256:e84f2564e92de9792c93b8d197262c735d7ccb1de6025cef8759af8f6c3308eb
|
||||||
|
hash09a sha256:4dd07764bcec696f195c0ea71ae89e174876403af1637e4642b8f4453fd23028
|
||||||
|
hash08a sha256:02132c4546cd88a1d0aa5854dd55da120927f7904ba16afe36fe03e91a622067
|
||||||
|
hash07a sha256:369baf7d00c6720efdc10273493555f943051f84a4706fb24caeb353fa4789db
|
||||||
|
hash06a sha256:52d32c10353583b2d96a5849b1f1f43c8018e76f3e8ef1b0d46eb5cff7cdefaf
|
||||||
|
hash15b sha256:345e6660b345fa174738a31a7a59423c394bdf414804e200bc510c65d971ae96
|
||||||
|
hash14b sha256:7653a6596021c52e405cba979eea15a729993e7102b9a61ba4667e34f0ead4a1
|
||||||
|
hash13b sha256:0f202a0b6b9690de2349c173dfd766a37e82744f61c14f1c389306f1d69f470b
|
||||||
|
hash12b sha256:eb00f219c026136ea6535b16ff8ec3efa510e6bf50098ca041e1a2a1d4b79840
|
||||||
|
hash05b sha256:993b2290cd0c24c27c849d99f1904f3b590f77af0f539932734ad05679ac5a2f
|
||||||
|
hash04b sha256:c7fba0d6104917fbf35258f40b9fa4fc697cfa992deecd1570a3b08d0a5587a9
|
||||||
|
hash03b sha256:7287a2d78a3766c181b08df38951d784b08b72a44f571ed6d855bd0be22c70f6
|
||||||
|
hash15c sha256:62316660a22bf97857dc4a16709ec4d93a224e8c9f37d661ef91751e1f4c4166
|
||||||
|
hash11c sha256:51c3763de9b08309370adc5036d58debb331980e73097902957c444602551daa
|
||||||
|
hash08c sha256:22cf1fa29599898a7218c51135d66ed85d22aad584f77db3305dedce4c3d4798
|
||||||
|
hash05c sha256:2508fd86db980f0508893a1c1571bdf3b2ee113dc25ddb1a3a2fb94bd6cd0d58
|
||||||
|
hash02c sha256:63bb527e0b4e1c8e1dd0d54dd778ca7c3718689fd6e37c473044cfbcf1cacfdb
|
||||||
|
hash15d sha256:667acb4e2d5f8df15e5aea4506dfd16d25bc7feca70fdb0d965a7222f983bb88
|
||||||
|
hash05d sha256:09e6b5a6fe666c4a027674b6611a254b7d2528cd211c6b5288d1b4db6c741dfa
|
||||||
|
hash15e sha256:e8cbf52f6fcadc6de3c7761e64a89e9fe38d19a03d3e28ef6ca8596d93fc4f3a
|
||||||
|
hash05e sha256:cdb1e19f7ba1539f95af51a57edeb88a7ecc97d3c2f52da8c4c86af308595607
|
||||||
|
hash15f sha256:29c14cb92da448a923963b8a43994268b19c2e57913de73f3667421fd2c0eeec
|
||||||
|
hash05f sha256:14a6e641b2c0a9f398ebac6b4d34afa5efea4c52d2631382f45f8f662266903b
|
||||||
|
EOF
|
||||||
'
|
'
|
||||||
|
|
||||||
commit_sha1=$(git rev-parse 1st^{commit})
|
commit_sha1=$(git rev-parse 1st^{commit})
|
||||||
@ -68,16 +128,16 @@ test_expect_success 'setup merge base (x)' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_x
|
cat <<EOF | sort >expect_notes_x
|
||||||
457a85d6c814ea208550f15fcc48f804ac8dc023 $commit_sha15
|
$(test_oid hash15a) $commit_sha15
|
||||||
b0c95b954301d69da2bc3723f4cb1680d355937c $commit_sha14
|
$(test_oid hash14a) $commit_sha14
|
||||||
5d30216a129eeffa97d9694ffe8c74317a560315 $commit_sha13
|
$(test_oid hash13a) $commit_sha13
|
||||||
dd161bc149470fd890dd4ab52a4cbd79bbd18c36 $commit_sha12
|
$(test_oid hash12a) $commit_sha12
|
||||||
7abbc45126d680336fb24294f013a7cdfa3ed545 $commit_sha11
|
$(test_oid hash11a) $commit_sha11
|
||||||
b8d03e173f67f6505a76f6e00cf93440200dd9be $commit_sha10
|
$(test_oid hash10a) $commit_sha10
|
||||||
20c613c835011c48a5abe29170a2402ca6354910 $commit_sha9
|
$(test_oid hash09a) $commit_sha9
|
||||||
a3daf8a1e4e5dc3409a303ad8481d57bfea7f5d6 $commit_sha8
|
$(test_oid hash08a) $commit_sha8
|
||||||
897003322b53bc6ca098e9324ee508362347e734 $commit_sha7
|
$(test_oid hash07a) $commit_sha7
|
||||||
11d97fdebfa5ceee540a3da07bce6fa0222bc082 $commit_sha6
|
$(test_oid hash06a) $commit_sha6
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_x <<EOF
|
cat >expect_log_x <<EOF
|
||||||
@ -141,16 +201,16 @@ test_expect_success 'setup local branch (y)' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_y
|
cat <<EOF | sort >expect_notes_y
|
||||||
68b8630d25516028bed862719855b3d6768d7833 $commit_sha15
|
$(test_oid hash15b) $commit_sha15
|
||||||
5de7ea7ad4f47e7ff91989fb82234634730f75df $commit_sha14
|
$(test_oid hash14b) $commit_sha14
|
||||||
3a631fdb6f41b05b55d8f4baf20728ba8f6fccbc $commit_sha13
|
$(test_oid hash13b) $commit_sha13
|
||||||
a66055fa82f7a03fe0c02a6aba3287a85abf7c62 $commit_sha12
|
$(test_oid hash12b) $commit_sha12
|
||||||
7abbc45126d680336fb24294f013a7cdfa3ed545 $commit_sha11
|
$(test_oid hash11a) $commit_sha11
|
||||||
b8d03e173f67f6505a76f6e00cf93440200dd9be $commit_sha10
|
$(test_oid hash10a) $commit_sha10
|
||||||
20c613c835011c48a5abe29170a2402ca6354910 $commit_sha9
|
$(test_oid hash09a) $commit_sha9
|
||||||
154508c7a0bcad82b6fe4b472bc4c26b3bf0825b $commit_sha5
|
$(test_oid hash05b) $commit_sha5
|
||||||
e2bfd06a37dd2031684a59a6e2b033e212239c78 $commit_sha4
|
$(test_oid hash04b) $commit_sha4
|
||||||
5772f42408c0dd6f097a7ca2d24de0e78d1c46b1 $commit_sha3
|
$(test_oid hash03b) $commit_sha3
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_y <<EOF
|
cat >expect_log_y <<EOF
|
||||||
@ -214,16 +274,16 @@ test_expect_success 'setup remote branch (z)' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_z
|
cat <<EOF | sort >expect_notes_z
|
||||||
9b4b2c61f0615412da3c10f98ff85b57c04ec765 $commit_sha15
|
$(test_oid hash15c) $commit_sha15
|
||||||
5de7ea7ad4f47e7ff91989fb82234634730f75df $commit_sha14
|
$(test_oid hash14b) $commit_sha14
|
||||||
5d30216a129eeffa97d9694ffe8c74317a560315 $commit_sha13
|
$(test_oid hash13a) $commit_sha13
|
||||||
7e3c53503a3db8dd996cb62e37c66e070b44b54d $commit_sha11
|
$(test_oid hash11c) $commit_sha11
|
||||||
b8d03e173f67f6505a76f6e00cf93440200dd9be $commit_sha10
|
$(test_oid hash10a) $commit_sha10
|
||||||
851e1638784a884c7dd26c5d41f3340f6387413a $commit_sha8
|
$(test_oid hash08c) $commit_sha8
|
||||||
897003322b53bc6ca098e9324ee508362347e734 $commit_sha7
|
$(test_oid hash07a) $commit_sha7
|
||||||
99fc34adfc400b95c67b013115e37e31aa9a6d23 $commit_sha5
|
$(test_oid hash05c) $commit_sha5
|
||||||
e2bfd06a37dd2031684a59a6e2b033e212239c78 $commit_sha4
|
$(test_oid hash04b) $commit_sha4
|
||||||
283b48219aee9a4105f6cab337e789065c82c2b9 $commit_sha2
|
$(test_oid hash02c) $commit_sha2
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_z <<EOF
|
cat >expect_log_z <<EOF
|
||||||
@ -306,16 +366,16 @@ test_expect_success 'merge z into y with invalid configuration option => Fail/No
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_ours
|
cat <<EOF | sort >expect_notes_ours
|
||||||
68b8630d25516028bed862719855b3d6768d7833 $commit_sha15
|
$(test_oid hash15b) $commit_sha15
|
||||||
5de7ea7ad4f47e7ff91989fb82234634730f75df $commit_sha14
|
$(test_oid hash14b) $commit_sha14
|
||||||
3a631fdb6f41b05b55d8f4baf20728ba8f6fccbc $commit_sha13
|
$(test_oid hash13b) $commit_sha13
|
||||||
a66055fa82f7a03fe0c02a6aba3287a85abf7c62 $commit_sha12
|
$(test_oid hash12b) $commit_sha12
|
||||||
7e3c53503a3db8dd996cb62e37c66e070b44b54d $commit_sha11
|
$(test_oid hash11c) $commit_sha11
|
||||||
b8d03e173f67f6505a76f6e00cf93440200dd9be $commit_sha10
|
$(test_oid hash10a) $commit_sha10
|
||||||
154508c7a0bcad82b6fe4b472bc4c26b3bf0825b $commit_sha5
|
$(test_oid hash05b) $commit_sha5
|
||||||
e2bfd06a37dd2031684a59a6e2b033e212239c78 $commit_sha4
|
$(test_oid hash04b) $commit_sha4
|
||||||
5772f42408c0dd6f097a7ca2d24de0e78d1c46b1 $commit_sha3
|
$(test_oid hash03b) $commit_sha3
|
||||||
283b48219aee9a4105f6cab337e789065c82c2b9 $commit_sha2
|
$(test_oid hash02c) $commit_sha2
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_ours <<EOF
|
cat >expect_log_ours <<EOF
|
||||||
@ -395,16 +455,16 @@ test_expect_success 'reset to pre-merge state (y)' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_theirs
|
cat <<EOF | sort >expect_notes_theirs
|
||||||
9b4b2c61f0615412da3c10f98ff85b57c04ec765 $commit_sha15
|
$(test_oid hash15c) $commit_sha15
|
||||||
5de7ea7ad4f47e7ff91989fb82234634730f75df $commit_sha14
|
$(test_oid hash14b) $commit_sha14
|
||||||
3a631fdb6f41b05b55d8f4baf20728ba8f6fccbc $commit_sha13
|
$(test_oid hash13b) $commit_sha13
|
||||||
7e3c53503a3db8dd996cb62e37c66e070b44b54d $commit_sha11
|
$(test_oid hash11c) $commit_sha11
|
||||||
b8d03e173f67f6505a76f6e00cf93440200dd9be $commit_sha10
|
$(test_oid hash10a) $commit_sha10
|
||||||
851e1638784a884c7dd26c5d41f3340f6387413a $commit_sha8
|
$(test_oid hash08c) $commit_sha8
|
||||||
99fc34adfc400b95c67b013115e37e31aa9a6d23 $commit_sha5
|
$(test_oid hash05c) $commit_sha5
|
||||||
e2bfd06a37dd2031684a59a6e2b033e212239c78 $commit_sha4
|
$(test_oid hash04b) $commit_sha4
|
||||||
5772f42408c0dd6f097a7ca2d24de0e78d1c46b1 $commit_sha3
|
$(test_oid hash03b) $commit_sha3
|
||||||
283b48219aee9a4105f6cab337e789065c82c2b9 $commit_sha2
|
$(test_oid hash02c) $commit_sha2
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_theirs <<EOF
|
cat >expect_log_theirs <<EOF
|
||||||
@ -473,17 +533,17 @@ test_expect_success 'reset to pre-merge state (y)' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_union
|
cat <<EOF | sort >expect_notes_union
|
||||||
7c4e546efd0fe939f876beb262ece02797880b54 $commit_sha15
|
$(test_oid hash15d) $commit_sha15
|
||||||
5de7ea7ad4f47e7ff91989fb82234634730f75df $commit_sha14
|
$(test_oid hash14b) $commit_sha14
|
||||||
3a631fdb6f41b05b55d8f4baf20728ba8f6fccbc $commit_sha13
|
$(test_oid hash13b) $commit_sha13
|
||||||
a66055fa82f7a03fe0c02a6aba3287a85abf7c62 $commit_sha12
|
$(test_oid hash12b) $commit_sha12
|
||||||
7e3c53503a3db8dd996cb62e37c66e070b44b54d $commit_sha11
|
$(test_oid hash11c) $commit_sha11
|
||||||
b8d03e173f67f6505a76f6e00cf93440200dd9be $commit_sha10
|
$(test_oid hash10a) $commit_sha10
|
||||||
851e1638784a884c7dd26c5d41f3340f6387413a $commit_sha8
|
$(test_oid hash08c) $commit_sha8
|
||||||
6c841cc36ea496027290967ca96bd2bef54dbb47 $commit_sha5
|
$(test_oid hash05d) $commit_sha5
|
||||||
e2bfd06a37dd2031684a59a6e2b033e212239c78 $commit_sha4
|
$(test_oid hash04b) $commit_sha4
|
||||||
5772f42408c0dd6f097a7ca2d24de0e78d1c46b1 $commit_sha3
|
$(test_oid hash03b) $commit_sha3
|
||||||
283b48219aee9a4105f6cab337e789065c82c2b9 $commit_sha2
|
$(test_oid hash02c) $commit_sha2
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_union <<EOF
|
cat >expect_log_union <<EOF
|
||||||
@ -574,17 +634,17 @@ test_expect_success 'merge z into y with "manual" per-ref only checks specific r
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_union2
|
cat <<EOF | sort >expect_notes_union2
|
||||||
d682107b8bf7a7aea1e537a8d5cb6a12b60135f1 $commit_sha15
|
$(test_oid hash15e) $commit_sha15
|
||||||
5de7ea7ad4f47e7ff91989fb82234634730f75df $commit_sha14
|
$(test_oid hash14b) $commit_sha14
|
||||||
3a631fdb6f41b05b55d8f4baf20728ba8f6fccbc $commit_sha13
|
$(test_oid hash13b) $commit_sha13
|
||||||
a66055fa82f7a03fe0c02a6aba3287a85abf7c62 $commit_sha12
|
$(test_oid hash12b) $commit_sha12
|
||||||
7e3c53503a3db8dd996cb62e37c66e070b44b54d $commit_sha11
|
$(test_oid hash11c) $commit_sha11
|
||||||
b8d03e173f67f6505a76f6e00cf93440200dd9be $commit_sha10
|
$(test_oid hash10a) $commit_sha10
|
||||||
851e1638784a884c7dd26c5d41f3340f6387413a $commit_sha8
|
$(test_oid hash08c) $commit_sha8
|
||||||
357b6ca14c7afd59b7f8b8aaaa6b8b723771135b $commit_sha5
|
$(test_oid hash05e) $commit_sha5
|
||||||
e2bfd06a37dd2031684a59a6e2b033e212239c78 $commit_sha4
|
$(test_oid hash04b) $commit_sha4
|
||||||
5772f42408c0dd6f097a7ca2d24de0e78d1c46b1 $commit_sha3
|
$(test_oid hash03b) $commit_sha3
|
||||||
283b48219aee9a4105f6cab337e789065c82c2b9 $commit_sha2
|
$(test_oid hash02c) $commit_sha2
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_union2 <<EOF
|
cat >expect_log_union2 <<EOF
|
||||||
@ -648,17 +708,17 @@ test_expect_success 'reset to pre-merge state (z)' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_cat_sort_uniq
|
cat <<EOF | sort >expect_notes_cat_sort_uniq
|
||||||
6be90240b5f54594203e25d9f2f64b7567175aee $commit_sha15
|
$(test_oid hash15f) $commit_sha15
|
||||||
5de7ea7ad4f47e7ff91989fb82234634730f75df $commit_sha14
|
$(test_oid hash14b) $commit_sha14
|
||||||
3a631fdb6f41b05b55d8f4baf20728ba8f6fccbc $commit_sha13
|
$(test_oid hash13b) $commit_sha13
|
||||||
a66055fa82f7a03fe0c02a6aba3287a85abf7c62 $commit_sha12
|
$(test_oid hash12b) $commit_sha12
|
||||||
7e3c53503a3db8dd996cb62e37c66e070b44b54d $commit_sha11
|
$(test_oid hash11c) $commit_sha11
|
||||||
b8d03e173f67f6505a76f6e00cf93440200dd9be $commit_sha10
|
$(test_oid hash10a) $commit_sha10
|
||||||
851e1638784a884c7dd26c5d41f3340f6387413a $commit_sha8
|
$(test_oid hash08c) $commit_sha8
|
||||||
660311d7f78dc53db12ac373a43fca7465381a7e $commit_sha5
|
$(test_oid hash05f) $commit_sha5
|
||||||
e2bfd06a37dd2031684a59a6e2b033e212239c78 $commit_sha4
|
$(test_oid hash04b) $commit_sha4
|
||||||
5772f42408c0dd6f097a7ca2d24de0e78d1c46b1 $commit_sha3
|
$(test_oid hash03b) $commit_sha3
|
||||||
283b48219aee9a4105f6cab337e789065c82c2b9 $commit_sha2
|
$(test_oid hash02c) $commit_sha2
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_cat_sort_uniq <<EOF
|
cat >expect_log_cat_sort_uniq <<EOF
|
||||||
|
@ -13,7 +13,39 @@ test_expect_success 'setup commits' '
|
|||||||
test_commit 2nd &&
|
test_commit 2nd &&
|
||||||
test_commit 3rd &&
|
test_commit 3rd &&
|
||||||
test_commit 4th &&
|
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})
|
commit_sha1=$(git rev-parse 1st^{commit})
|
||||||
@ -39,9 +71,9 @@ notes_merge_files_gone () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_x
|
cat <<EOF | sort >expect_notes_x
|
||||||
6e8e3febca3c2bb896704335cc4d0c34cb2f8715 $commit_sha4
|
$(test_oid hash04a) $commit_sha4
|
||||||
e5388c10860456ee60673025345fe2e153eb8cf8 $commit_sha3
|
$(test_oid hash03a) $commit_sha3
|
||||||
ceefa674873670e7ecd131814d909723cce2b669 $commit_sha2
|
$(test_oid hash02a) $commit_sha2
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_x <<EOF
|
cat >expect_log_x <<EOF
|
||||||
@ -69,9 +101,9 @@ test_expect_success 'setup merge base (x)' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_y
|
cat <<EOF | sort >expect_notes_y
|
||||||
e2bfd06a37dd2031684a59a6e2b033e212239c78 $commit_sha4
|
$(test_oid hash04b) $commit_sha4
|
||||||
5772f42408c0dd6f097a7ca2d24de0e78d1c46b1 $commit_sha3
|
$(test_oid hash03b) $commit_sha3
|
||||||
b0a6021ec006d07e80e9b20ec9b444cbd9d560d3 $commit_sha1
|
$(test_oid hash01b) $commit_sha1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_y <<EOF
|
cat >expect_log_y <<EOF
|
||||||
@ -101,9 +133,9 @@ test_expect_success 'setup local branch (y)' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_z
|
cat <<EOF | sort >expect_notes_z
|
||||||
cff59c793c20bb49a4e01bc06fb06bad642e0d54 $commit_sha4
|
$(test_oid hash04c) $commit_sha4
|
||||||
283b48219aee9a4105f6cab337e789065c82c2b9 $commit_sha2
|
$(test_oid hash02c) $commit_sha2
|
||||||
0a81da8956346e19bcb27a906f04af327e03e31b $commit_sha1
|
$(test_oid hash01c) $commit_sha1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_z <<EOF
|
cat >expect_log_z <<EOF
|
||||||
@ -199,9 +231,9 @@ test_expect_success 'merge z into m (== y) with default ("manual") resolver => C
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_z
|
cat <<EOF | sort >expect_notes_z
|
||||||
00494adecf2d9635a02fa431308d67993f853968 $commit_sha4
|
$(test_oid hash04d) $commit_sha4
|
||||||
283b48219aee9a4105f6cab337e789065c82c2b9 $commit_sha2
|
$(test_oid hash02c) $commit_sha2
|
||||||
0a81da8956346e19bcb27a906f04af327e03e31b $commit_sha1
|
$(test_oid hash01c) $commit_sha1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_z <<EOF
|
cat >expect_log_z <<EOF
|
||||||
@ -237,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
|
# Setup non-conflicting merge between x and new notes ref w
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_w
|
cat <<EOF | sort >expect_notes_w
|
||||||
ceefa674873670e7ecd131814d909723cce2b669 $commit_sha2
|
$(test_oid hash02a) $commit_sha2
|
||||||
f75d1df88cbfe4258d49852f26cfc83f2ad4494b $commit_sha1
|
$(test_oid hash01e) $commit_sha1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_w <<EOF
|
cat >expect_log_w <<EOF
|
||||||
@ -264,10 +296,10 @@ test_expect_success 'setup unrelated notes ref (w)' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_w
|
cat <<EOF | sort >expect_notes_w
|
||||||
6e8e3febca3c2bb896704335cc4d0c34cb2f8715 $commit_sha4
|
$(test_oid hash04a) $commit_sha4
|
||||||
e5388c10860456ee60673025345fe2e153eb8cf8 $commit_sha3
|
$(test_oid hash03a) $commit_sha3
|
||||||
ceefa674873670e7ecd131814d909723cce2b669 $commit_sha2
|
$(test_oid hash02a) $commit_sha2
|
||||||
f75d1df88cbfe4258d49852f26cfc83f2ad4494b $commit_sha1
|
$(test_oid hash01e) $commit_sha1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_w <<EOF
|
cat >expect_log_w <<EOF
|
||||||
@ -297,10 +329,10 @@ test_expect_success 'can do merge without conflicts even if previous merge is un
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_m
|
cat <<EOF | sort >expect_notes_m
|
||||||
021faa20e931fb48986ffc6282b4bb05553ac946 $commit_sha4
|
$(test_oid hash04f) $commit_sha4
|
||||||
5772f42408c0dd6f097a7ca2d24de0e78d1c46b1 $commit_sha3
|
$(test_oid hash03b) $commit_sha3
|
||||||
283b48219aee9a4105f6cab337e789065c82c2b9 $commit_sha2
|
$(test_oid hash02c) $commit_sha2
|
||||||
0a59e787e6d688aa6309e56e8c1b89431a0fc1c1 $commit_sha1
|
$(test_oid hash01f) $commit_sha1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_m <<EOF
|
cat >expect_log_m <<EOF
|
||||||
@ -432,9 +464,9 @@ test_expect_success 'redo merge of z into m (== y) with default ("manual") resol
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_m
|
cat <<EOF | sort >expect_notes_m
|
||||||
304dfb4325cf243025b9957486eb605a9b51c199 $commit_sha5
|
$(test_oid hash05g) $commit_sha5
|
||||||
283b48219aee9a4105f6cab337e789065c82c2b9 $commit_sha2
|
$(test_oid hash02c) $commit_sha2
|
||||||
0a59e787e6d688aa6309e56e8c1b89431a0fc1c1 $commit_sha1
|
$(test_oid hash01f) $commit_sha1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_m <<EOF
|
cat >expect_log_m <<EOF
|
||||||
|
@ -29,15 +29,10 @@ verify_fanout () {
|
|||||||
git ls-tree -r --name-only "refs/notes/$notes_ref" |
|
git ls-tree -r --name-only "refs/notes/$notes_ref" |
|
||||||
while read path
|
while read path
|
||||||
do
|
do
|
||||||
case "$path" in
|
echo "$path" | grep "^../[0-9a-f]*$" || {
|
||||||
??/??????????????????????????????????????)
|
|
||||||
: true
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Invalid path \"$path\"" &&
|
echo "Invalid path \"$path\"" &&
|
||||||
return 1
|
return 1;
|
||||||
;;
|
}
|
||||||
esac
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,15 +43,10 @@ verify_no_fanout () {
|
|||||||
git ls-tree -r --name-only "refs/notes/$notes_ref" |
|
git ls-tree -r --name-only "refs/notes/$notes_ref" |
|
||||||
while read path
|
while read path
|
||||||
do
|
do
|
||||||
case "$path" in
|
echo "$path" | grep -v "^../.*" || {
|
||||||
????????????????????????????????????????)
|
|
||||||
: true
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Invalid path \"$path\"" &&
|
echo "Invalid path \"$path\"" &&
|
||||||
return 1
|
return 1;
|
||||||
;;
|
}
|
||||||
esac
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,7 +57,27 @@ test_expect_success 'setup a few initial commits with notes (notes ref: x)' '
|
|||||||
do
|
do
|
||||||
test_commit "commit$i" >/dev/null &&
|
test_commit "commit$i" >/dev/null &&
|
||||||
git notes add -m "notes for commit$i" || return 1
|
git notes add -m "notes for commit$i" || return 1
|
||||||
done
|
done &&
|
||||||
|
|
||||||
|
git log --format=oneline &&
|
||||||
|
|
||||||
|
test_oid_cache <<-EOF
|
||||||
|
hash05a sha1:aed91155c7a72c2188e781fdf40e0f3761b299db
|
||||||
|
hash04a sha1:99fab268f9d7ee7b011e091a436c78def8eeee69
|
||||||
|
hash03a sha1:953c20ae26c7aa0b428c20693fe38bc687f9d1a9
|
||||||
|
hash02a sha1:6358796131b8916eaa2dde6902642942a1cb37e1
|
||||||
|
hash01a sha1:b02d459c32f0e68f2fe0981033bb34f38776ba47
|
||||||
|
hash03b sha1:9f506ee70e20379d7f78204c77b334f43d77410d
|
||||||
|
hash02b sha1:23a47d6ea7d589895faf800752054818e1e7627b
|
||||||
|
|
||||||
|
hash05a sha256:3aae5d26619d96dba93795f66325716e4cbc486884f95a6adee8fb0615a76d12
|
||||||
|
hash04a sha256:07e43dd3d89fe634d3252e253b426aacc7285a995dcdbcf94ac284060a1122cf
|
||||||
|
hash03a sha256:26fb52eaa7f4866bf735254587be7b31209ec10e525912ffd8e8ba549ba892ff
|
||||||
|
hash02a sha256:b57ebdf23634e750dcbc4b9a37991d70f90830d568a0e4529ce9de0a3f8d605c
|
||||||
|
hash01a sha256:377903b1572bd5117087a5518fcb1011b5053cccbc59e3c7c823a8615204173b
|
||||||
|
hash03b sha256:04e7b392fda7c185bfa17c9179b56db732edc2dc2b3bf887308dcaabb717270d
|
||||||
|
hash02b sha256:66099aaaec49a485ed990acadd9a9b81232ea592079964113d8f581ff69ef50b
|
||||||
|
EOF
|
||||||
'
|
'
|
||||||
|
|
||||||
commit_sha1=$(git rev-parse commit1^{commit})
|
commit_sha1=$(git rev-parse commit1^{commit})
|
||||||
@ -77,11 +87,11 @@ commit_sha4=$(git rev-parse commit4^{commit})
|
|||||||
commit_sha5=$(git rev-parse commit5^{commit})
|
commit_sha5=$(git rev-parse commit5^{commit})
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_x
|
cat <<EOF | sort >expect_notes_x
|
||||||
aed91155c7a72c2188e781fdf40e0f3761b299db $commit_sha5
|
$(test_oid hash05a) $commit_sha5
|
||||||
99fab268f9d7ee7b011e091a436c78def8eeee69 $commit_sha4
|
$(test_oid hash04a) $commit_sha4
|
||||||
953c20ae26c7aa0b428c20693fe38bc687f9d1a9 $commit_sha3
|
$(test_oid hash03a) $commit_sha3
|
||||||
6358796131b8916eaa2dde6902642942a1cb37e1 $commit_sha2
|
$(test_oid hash02a) $commit_sha2
|
||||||
b02d459c32f0e68f2fe0981033bb34f38776ba47 $commit_sha1
|
$(test_oid hash01a) $commit_sha1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_x <<EOF
|
cat >expect_log_x <<EOF
|
||||||
@ -145,9 +155,9 @@ test_expect_success 'Fast-forward merge (y => x)' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
cat <<EOF | sort >expect_notes_z
|
cat <<EOF | sort >expect_notes_z
|
||||||
9f506ee70e20379d7f78204c77b334f43d77410d $commit_sha3
|
$(test_oid hash03b) $commit_sha3
|
||||||
23a47d6ea7d589895faf800752054818e1e7627b $commit_sha2
|
$(test_oid hash02b) $commit_sha2
|
||||||
b02d459c32f0e68f2fe0981033bb34f38776ba47 $commit_sha1
|
$(test_oid hash01a) $commit_sha1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat >expect_log_z <<EOF
|
cat >expect_log_z <<EOF
|
||||||
|
@ -120,6 +120,30 @@ test_expect_success setup '
|
|||||||
+*++ [initial] Initial
|
+*++ [initial] Initial
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
process_diffs () {
|
||||||
|
_x04="[0-9a-f][0-9a-f][0-9a-f][0-9a-f]" &&
|
||||||
|
_x07="$_x05[0-9a-f][0-9a-f]" &&
|
||||||
|
sed -e "s/$OID_REGEX/$ZERO_OID/g" \
|
||||||
|
-e "s/From $_x40 /From $ZERO_OID /" \
|
||||||
|
-e "s/from $_x40)/from $ZERO_OID)/" \
|
||||||
|
-e "s/commit $_x40\$/commit $ZERO_OID/" \
|
||||||
|
-e "s/commit $_x40 (/commit $ZERO_OID (/" \
|
||||||
|
-e "s/$_x40 $_x40 $_x40/$ZERO_OID $ZERO_OID $ZERO_OID/" \
|
||||||
|
-e "s/$_x40 $_x40 /$ZERO_OID $ZERO_OID /" \
|
||||||
|
-e "s/^$_x40 $_x40$/$ZERO_OID $ZERO_OID/" \
|
||||||
|
-e "s/^$_x40 /$ZERO_OID /" \
|
||||||
|
-e "s/^$_x40$/$ZERO_OID/" \
|
||||||
|
-e "s/$_x07\.\.$_x07/fffffff..fffffff/g" \
|
||||||
|
-e "s/$_x07,$_x07\.\.$_x07/fffffff,fffffff..fffffff/g" \
|
||||||
|
-e "s/$_x07 $_x07 $_x07/fffffff fffffff fffffff/g" \
|
||||||
|
-e "s/$_x07 $_x07 /fffffff fffffff /g" \
|
||||||
|
-e "s/Merge: $_x07 $_x07/Merge: fffffff fffffff/g" \
|
||||||
|
-e "s/$_x07\.\.\./fffffff.../g" \
|
||||||
|
-e "s/ $_x04\.\.\./ ffff.../g" \
|
||||||
|
-e "s/ $_x04/ ffff/g" \
|
||||||
|
"$1"
|
||||||
|
}
|
||||||
|
|
||||||
V=$(git version | sed -e 's/^git version //' -e 's/\./\\./g')
|
V=$(git version | sed -e 's/^git version //' -e 's/\./\\./g')
|
||||||
while read magic cmd
|
while read magic cmd
|
||||||
do
|
do
|
||||||
@ -158,13 +182,15 @@ do
|
|||||||
} >"$actual" &&
|
} >"$actual" &&
|
||||||
if test -f "$expect"
|
if test -f "$expect"
|
||||||
then
|
then
|
||||||
|
process_diffs "$actual" >actual &&
|
||||||
|
process_diffs "$expect" >expect &&
|
||||||
case $cmd in
|
case $cmd in
|
||||||
*format-patch* | *-stat*)
|
*format-patch* | *-stat*)
|
||||||
test_i18ncmp "$expect" "$actual";;
|
test_i18ncmp expect actual;;
|
||||||
*)
|
*)
|
||||||
test_cmp "$expect" "$actual";;
|
test_cmp expect actual;;
|
||||||
esac &&
|
esac &&
|
||||||
rm -f "$actual"
|
rm -f "$actual" actual expect
|
||||||
else
|
else
|
||||||
# this is to help developing new tests.
|
# this is to help developing new tests.
|
||||||
cp "$actual" "$expect"
|
cp "$actual" "$expect"
|
||||||
@ -383,16 +409,22 @@ test_expect_success 'log -S requires an argument' '
|
|||||||
test_expect_success 'diff --cached on unborn branch' '
|
test_expect_success 'diff --cached on unborn branch' '
|
||||||
echo ref: refs/heads/unborn >.git/HEAD &&
|
echo ref: refs/heads/unborn >.git/HEAD &&
|
||||||
git diff --cached >result &&
|
git diff --cached >result &&
|
||||||
test_cmp "$TEST_DIRECTORY/t4013/diff.diff_--cached" result
|
process_diffs result >actual &&
|
||||||
|
process_diffs "$TEST_DIRECTORY/t4013/diff.diff_--cached" >expected &&
|
||||||
|
test_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'diff --cached -- file on unborn branch' '
|
test_expect_success 'diff --cached -- file on unborn branch' '
|
||||||
git diff --cached -- file0 >result &&
|
git diff --cached -- file0 >result &&
|
||||||
test_cmp "$TEST_DIRECTORY/t4013/diff.diff_--cached_--_file0" result
|
process_diffs result >actual &&
|
||||||
|
process_diffs "$TEST_DIRECTORY/t4013/diff.diff_--cached_--_file0" >expected &&
|
||||||
|
test_cmp expected actual
|
||||||
'
|
'
|
||||||
test_expect_success 'diff --line-prefix with spaces' '
|
test_expect_success 'diff --line-prefix with spaces' '
|
||||||
git diff --line-prefix="| | | " --cached -- file0 >result &&
|
git diff --line-prefix="| | | " --cached -- file0 >result &&
|
||||||
test_cmp "$TEST_DIRECTORY/t4013/diff.diff_--line-prefix_--cached_--_file0" result
|
process_diffs result >actual &&
|
||||||
|
process_diffs "$TEST_DIRECTORY/t4013/diff.diff_--line-prefix_--cached_--_file0" >expected &&
|
||||||
|
test_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'diff-tree --stdin with log formatting' '
|
test_expect_success 'diff-tree --stdin with log formatting' '
|
||||||
|
@ -42,6 +42,17 @@ commit_file () {
|
|||||||
git commit "$@" -m "Commit $*" >/dev/null
|
git commit "$@" -m "Commit $*" >/dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
diff_cmp () {
|
||||||
|
for i in "$1" "$2"
|
||||||
|
do
|
||||||
|
sed -e 's/^index 0000000\.\.[0-9a-f]*/index 0000000..1234567/' \
|
||||||
|
-e 's/^index [0-9a-f]*\.\.[0-9a-f]*/index 1234567..89abcde/' \
|
||||||
|
"$i" >"$i.compare" || return 1
|
||||||
|
done &&
|
||||||
|
test_cmp "$1.compare" "$2.compare" &&
|
||||||
|
rm -f "$1.compare" "$2.compare"
|
||||||
|
}
|
||||||
|
|
||||||
test_expect_success 'setup repository' '
|
test_expect_success 'setup repository' '
|
||||||
test_create_repo sm1 &&
|
test_create_repo sm1 &&
|
||||||
add_file . foo &&
|
add_file . foo &&
|
||||||
@ -69,7 +80,7 @@ test_expect_success 'added submodule' '
|
|||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+foo2
|
+foo2
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'added submodule, set diff.submodule' '
|
test_expect_success 'added submodule, set diff.submodule' '
|
||||||
@ -93,7 +104,7 @@ test_expect_success 'added submodule, set diff.submodule' '
|
|||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+foo2
|
+foo2
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success '--submodule=short overrides diff.submodule' '
|
test_expect_success '--submodule=short overrides diff.submodule' '
|
||||||
@ -109,7 +120,7 @@ test_expect_success '--submodule=short overrides diff.submodule' '
|
|||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+Subproject commit $fullhead1
|
+Subproject commit $fullhead1
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'diff.submodule does not affect plumbing' '
|
test_expect_success 'diff.submodule does not affect plumbing' '
|
||||||
@ -124,7 +135,7 @@ test_expect_success 'diff.submodule does not affect plumbing' '
|
|||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+Subproject commit $fullhead1
|
+Subproject commit $fullhead1
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
commit_file sm1 &&
|
commit_file sm1 &&
|
||||||
@ -142,7 +153,7 @@ test_expect_success 'modified submodule(forward)' '
|
|||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+foo3
|
+foo3
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'modified submodule(forward)' '
|
test_expect_success 'modified submodule(forward)' '
|
||||||
@ -157,7 +168,7 @@ test_expect_success 'modified submodule(forward)' '
|
|||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+foo3
|
+foo3
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'modified submodule(forward) --submodule' '
|
test_expect_success 'modified submodule(forward) --submodule' '
|
||||||
@ -166,7 +177,7 @@ test_expect_success 'modified submodule(forward) --submodule' '
|
|||||||
Submodule sm1 $head1..$head2:
|
Submodule sm1 $head1..$head2:
|
||||||
> Add foo3 ($added foo3)
|
> Add foo3 ($added foo3)
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
fullhead2=$(cd sm1; git rev-parse --verify HEAD)
|
fullhead2=$(cd sm1; git rev-parse --verify HEAD)
|
||||||
@ -181,7 +192,7 @@ test_expect_success 'modified submodule(forward) --submodule=short' '
|
|||||||
-Subproject commit $fullhead1
|
-Subproject commit $fullhead1
|
||||||
+Subproject commit $fullhead2
|
+Subproject commit $fullhead2
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
commit_file sm1 &&
|
commit_file sm1 &&
|
||||||
@ -210,7 +221,7 @@ test_expect_success 'modified submodule(backward)' '
|
|||||||
@@ -1 +0,0 @@
|
@@ -1 +0,0 @@
|
||||||
-foo3
|
-foo3
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
head4=$(add_file sm1 foo4 foo5)
|
head4=$(add_file sm1 foo4 foo5)
|
||||||
@ -247,7 +258,7 @@ test_expect_success 'modified submodule(backward and forward)' '
|
|||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+foo5
|
+foo5
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
commit_file sm1 &&
|
commit_file sm1 &&
|
||||||
@ -291,7 +302,7 @@ test_expect_success 'typechanged submodule(submodule->blob), --cached' '
|
|||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+sm1
|
+sm1
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'typechanged submodule(submodule->blob)' '
|
test_expect_success 'typechanged submodule(submodule->blob)' '
|
||||||
@ -327,7 +338,7 @@ test_expect_success 'typechanged submodule(submodule->blob)' '
|
|||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+foo5
|
+foo5
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
rm -rf sm1 &&
|
rm -rf sm1 &&
|
||||||
@ -344,7 +355,7 @@ test_expect_success 'typechanged submodule(submodule->blob)' '
|
|||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+sm1
|
+sm1
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
rm -f sm1 &&
|
rm -f sm1 &&
|
||||||
@ -356,7 +367,7 @@ test_expect_success 'nonexistent commit' '
|
|||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule sm1 $head4...$head6 (commits not present)
|
Submodule sm1 $head4...$head6 (commits not present)
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
commit_file
|
commit_file
|
||||||
@ -386,11 +397,12 @@ test_expect_success 'typechanged submodule(blob->submodule)' '
|
|||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+foo7
|
+foo7
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
commit_file sm1 &&
|
commit_file sm1 &&
|
||||||
test_expect_success 'submodule is up to date' '
|
test_expect_success 'submodule is up to date' '
|
||||||
|
head7=$(git -C sm1 rev-parse --short --verify HEAD) &&
|
||||||
git diff-index -p --submodule=diff HEAD >actual &&
|
git diff-index -p --submodule=diff HEAD >actual &&
|
||||||
test_must_be_empty actual
|
test_must_be_empty actual
|
||||||
'
|
'
|
||||||
@ -401,7 +413,7 @@ test_expect_success 'submodule contains untracked content' '
|
|||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule sm1 contains untracked content
|
Submodule sm1 contains untracked content
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'submodule contains untracked content (untracked ignored)' '
|
test_expect_success 'submodule contains untracked content (untracked ignored)' '
|
||||||
@ -433,7 +445,7 @@ test_expect_success 'submodule contains untracked and modified content' '
|
|||||||
-foo6
|
-foo6
|
||||||
+new
|
+new
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
# NOT OK
|
# NOT OK
|
||||||
@ -450,7 +462,7 @@ test_expect_success 'submodule contains untracked and modified content (untracke
|
|||||||
-foo6
|
-foo6
|
||||||
+new
|
+new
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'submodule contains untracked and modified content (dirty ignored)' '
|
test_expect_success 'submodule contains untracked and modified content (dirty ignored)' '
|
||||||
@ -478,7 +490,7 @@ test_expect_success 'submodule contains modified content' '
|
|||||||
-foo6
|
-foo6
|
||||||
+new
|
+new
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
(cd sm1; git commit -mchange foo6 >/dev/null) &&
|
(cd sm1; git commit -mchange foo6 >/dev/null) &&
|
||||||
@ -486,7 +498,7 @@ head8=$(cd sm1; git rev-parse --short --verify HEAD) &&
|
|||||||
test_expect_success 'submodule is modified' '
|
test_expect_success 'submodule is modified' '
|
||||||
git diff-index -p --submodule=diff HEAD >actual &&
|
git diff-index -p --submodule=diff HEAD >actual &&
|
||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule sm1 17243c9..$head8:
|
Submodule sm1 $head7..$head8:
|
||||||
diff --git a/sm1/foo6 b/sm1/foo6
|
diff --git a/sm1/foo6 b/sm1/foo6
|
||||||
index 462398b..3e75765 100644
|
index 462398b..3e75765 100644
|
||||||
--- a/sm1/foo6
|
--- a/sm1/foo6
|
||||||
@ -495,7 +507,7 @@ test_expect_success 'submodule is modified' '
|
|||||||
-foo6
|
-foo6
|
||||||
+new
|
+new
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'modified submodule contains untracked content' '
|
test_expect_success 'modified submodule contains untracked content' '
|
||||||
@ -503,7 +515,7 @@ test_expect_success 'modified submodule contains untracked content' '
|
|||||||
git diff-index -p --submodule=diff HEAD >actual &&
|
git diff-index -p --submodule=diff HEAD >actual &&
|
||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule sm1 contains untracked content
|
Submodule sm1 contains untracked content
|
||||||
Submodule sm1 17243c9..$head8:
|
Submodule sm1 $head7..$head8:
|
||||||
diff --git a/sm1/foo6 b/sm1/foo6
|
diff --git a/sm1/foo6 b/sm1/foo6
|
||||||
index 462398b..3e75765 100644
|
index 462398b..3e75765 100644
|
||||||
--- a/sm1/foo6
|
--- a/sm1/foo6
|
||||||
@ -512,13 +524,13 @@ test_expect_success 'modified submodule contains untracked content' '
|
|||||||
-foo6
|
-foo6
|
||||||
+new
|
+new
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'modified submodule contains untracked content (untracked ignored)' '
|
test_expect_success 'modified submodule contains untracked content (untracked ignored)' '
|
||||||
git diff-index -p --ignore-submodules=untracked --submodule=diff HEAD >actual &&
|
git diff-index -p --ignore-submodules=untracked --submodule=diff HEAD >actual &&
|
||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule sm1 17243c9..$head8:
|
Submodule sm1 $head7..$head8:
|
||||||
diff --git a/sm1/foo6 b/sm1/foo6
|
diff --git a/sm1/foo6 b/sm1/foo6
|
||||||
index 462398b..3e75765 100644
|
index 462398b..3e75765 100644
|
||||||
--- a/sm1/foo6
|
--- a/sm1/foo6
|
||||||
@ -527,13 +539,13 @@ test_expect_success 'modified submodule contains untracked content (untracked ig
|
|||||||
-foo6
|
-foo6
|
||||||
+new
|
+new
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'modified submodule contains untracked content (dirty ignored)' '
|
test_expect_success 'modified submodule contains untracked content (dirty ignored)' '
|
||||||
git diff-index -p --ignore-submodules=dirty --submodule=diff HEAD >actual &&
|
git diff-index -p --ignore-submodules=dirty --submodule=diff HEAD >actual &&
|
||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule sm1 17243c9..cfce562:
|
Submodule sm1 $head7..$head8:
|
||||||
diff --git a/sm1/foo6 b/sm1/foo6
|
diff --git a/sm1/foo6 b/sm1/foo6
|
||||||
index 462398b..3e75765 100644
|
index 462398b..3e75765 100644
|
||||||
--- a/sm1/foo6
|
--- a/sm1/foo6
|
||||||
@ -542,7 +554,7 @@ test_expect_success 'modified submodule contains untracked content (dirty ignore
|
|||||||
-foo6
|
-foo6
|
||||||
+new
|
+new
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'modified submodule contains untracked content (all ignored)' '
|
test_expect_success 'modified submodule contains untracked content (all ignored)' '
|
||||||
@ -556,7 +568,7 @@ test_expect_success 'modified submodule contains untracked and modified content'
|
|||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule sm1 contains untracked content
|
Submodule sm1 contains untracked content
|
||||||
Submodule sm1 contains modified content
|
Submodule sm1 contains modified content
|
||||||
Submodule sm1 17243c9..cfce562:
|
Submodule sm1 $head7..$head8:
|
||||||
diff --git a/sm1/foo6 b/sm1/foo6
|
diff --git a/sm1/foo6 b/sm1/foo6
|
||||||
index 462398b..dfda541 100644
|
index 462398b..dfda541 100644
|
||||||
--- a/sm1/foo6
|
--- a/sm1/foo6
|
||||||
@ -566,7 +578,7 @@ test_expect_success 'modified submodule contains untracked and modified content'
|
|||||||
+new
|
+new
|
||||||
+modification
|
+modification
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'modified submodule contains untracked and modified content (untracked ignored)' '
|
test_expect_success 'modified submodule contains untracked and modified content (untracked ignored)' '
|
||||||
@ -574,7 +586,7 @@ test_expect_success 'modified submodule contains untracked and modified content
|
|||||||
git diff-index -p --ignore-submodules=untracked --submodule=diff HEAD >actual &&
|
git diff-index -p --ignore-submodules=untracked --submodule=diff HEAD >actual &&
|
||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule sm1 contains modified content
|
Submodule sm1 contains modified content
|
||||||
Submodule sm1 17243c9..cfce562:
|
Submodule sm1 $head7..$head8:
|
||||||
diff --git a/sm1/foo6 b/sm1/foo6
|
diff --git a/sm1/foo6 b/sm1/foo6
|
||||||
index 462398b..e20e2d9 100644
|
index 462398b..e20e2d9 100644
|
||||||
--- a/sm1/foo6
|
--- a/sm1/foo6
|
||||||
@ -585,14 +597,14 @@ test_expect_success 'modified submodule contains untracked and modified content
|
|||||||
+modification
|
+modification
|
||||||
+modification
|
+modification
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'modified submodule contains untracked and modified content (dirty ignored)' '
|
test_expect_success 'modified submodule contains untracked and modified content (dirty ignored)' '
|
||||||
echo modification >> sm1/foo6 &&
|
echo modification >> sm1/foo6 &&
|
||||||
git diff-index -p --ignore-submodules=dirty --submodule=diff HEAD >actual &&
|
git diff-index -p --ignore-submodules=dirty --submodule=diff HEAD >actual &&
|
||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule sm1 17243c9..cfce562:
|
Submodule sm1 $head7..$head8:
|
||||||
diff --git a/sm1/foo6 b/sm1/foo6
|
diff --git a/sm1/foo6 b/sm1/foo6
|
||||||
index 462398b..3e75765 100644
|
index 462398b..3e75765 100644
|
||||||
--- a/sm1/foo6
|
--- a/sm1/foo6
|
||||||
@ -601,7 +613,7 @@ test_expect_success 'modified submodule contains untracked and modified content
|
|||||||
-foo6
|
-foo6
|
||||||
+new
|
+new
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'modified submodule contains untracked and modified content (all ignored)' '
|
test_expect_success 'modified submodule contains untracked and modified content (all ignored)' '
|
||||||
@ -616,7 +628,7 @@ test_expect_success 'modified submodule contains modified content' '
|
|||||||
git diff-index -p --submodule=diff HEAD >actual &&
|
git diff-index -p --submodule=diff HEAD >actual &&
|
||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule sm1 contains modified content
|
Submodule sm1 contains modified content
|
||||||
Submodule sm1 17243c9..cfce562:
|
Submodule sm1 $head7..$head8:
|
||||||
diff --git a/sm1/foo6 b/sm1/foo6
|
diff --git a/sm1/foo6 b/sm1/foo6
|
||||||
index 462398b..ac466ca 100644
|
index 462398b..ac466ca 100644
|
||||||
--- a/sm1/foo6
|
--- a/sm1/foo6
|
||||||
@ -629,29 +641,29 @@ test_expect_success 'modified submodule contains modified content' '
|
|||||||
+modification
|
+modification
|
||||||
+modification
|
+modification
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
rm -rf sm1
|
rm -rf sm1
|
||||||
test_expect_success 'deleted submodule' '
|
test_expect_success 'deleted submodule' '
|
||||||
git diff-index -p --submodule=diff HEAD >actual &&
|
git diff-index -p --submodule=diff HEAD >actual &&
|
||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule sm1 17243c9...0000000 (submodule deleted)
|
Submodule sm1 $head7...0000000 (submodule deleted)
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'create second submodule' '
|
test_expect_success 'create second submodule' '
|
||||||
test_create_repo sm2 &&
|
test_create_repo sm2 &&
|
||||||
head7=$(add_file sm2 foo8 foo9) &&
|
head9=$(add_file sm2 foo8 foo9) &&
|
||||||
git add sm2
|
git add sm2
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'multiple submodules' '
|
test_expect_success 'multiple submodules' '
|
||||||
git diff-index -p --submodule=diff HEAD >actual &&
|
git diff-index -p --submodule=diff HEAD >actual &&
|
||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule sm1 17243c9...0000000 (submodule deleted)
|
Submodule sm1 $head7...0000000 (submodule deleted)
|
||||||
Submodule sm2 0000000...a5a65c9 (new submodule)
|
Submodule sm2 0000000...$head9 (new submodule)
|
||||||
diff --git a/sm2/foo8 b/sm2/foo8
|
diff --git a/sm2/foo8 b/sm2/foo8
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..db9916b
|
index 0000000..db9916b
|
||||||
@ -667,13 +679,13 @@ test_expect_success 'multiple submodules' '
|
|||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+foo9
|
+foo9
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'path filter' '
|
test_expect_success 'path filter' '
|
||||||
git diff-index -p --submodule=diff HEAD sm2 >actual &&
|
git diff-index -p --submodule=diff HEAD sm2 >actual &&
|
||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule sm2 0000000...a5a65c9 (new submodule)
|
Submodule sm2 0000000...$head9 (new submodule)
|
||||||
diff --git a/sm2/foo8 b/sm2/foo8
|
diff --git a/sm2/foo8 b/sm2/foo8
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..db9916b
|
index 0000000..db9916b
|
||||||
@ -689,15 +701,15 @@ test_expect_success 'path filter' '
|
|||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+foo9
|
+foo9
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
commit_file sm2
|
commit_file sm2
|
||||||
test_expect_success 'given commit' '
|
test_expect_success 'given commit' '
|
||||||
git diff-index -p --submodule=diff HEAD^ >actual &&
|
git diff-index -p --submodule=diff HEAD^ >actual &&
|
||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule sm1 17243c9...0000000 (submodule deleted)
|
Submodule sm1 $head7...0000000 (submodule deleted)
|
||||||
Submodule sm2 0000000...a5a65c9 (new submodule)
|
Submodule sm2 0000000...$head9 (new submodule)
|
||||||
diff --git a/sm2/foo8 b/sm2/foo8
|
diff --git a/sm2/foo8 b/sm2/foo8
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..db9916b
|
index 0000000..db9916b
|
||||||
@ -713,7 +725,7 @@ test_expect_success 'given commit' '
|
|||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+foo9
|
+foo9
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'setup .git file for sm2' '
|
test_expect_success 'setup .git file for sm2' '
|
||||||
@ -726,8 +738,8 @@ test_expect_success 'setup .git file for sm2' '
|
|||||||
test_expect_success 'diff --submodule=diff with .git file' '
|
test_expect_success 'diff --submodule=diff with .git file' '
|
||||||
git diff --submodule=diff HEAD^ >actual &&
|
git diff --submodule=diff HEAD^ >actual &&
|
||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule sm1 17243c9...0000000 (submodule deleted)
|
Submodule sm1 $head7...0000000 (submodule deleted)
|
||||||
Submodule sm2 0000000...a5a65c9 (new submodule)
|
Submodule sm2 0000000...$head9 (new submodule)
|
||||||
diff --git a/sm2/foo8 b/sm2/foo8
|
diff --git a/sm2/foo8 b/sm2/foo8
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..db9916b
|
index 0000000..db9916b
|
||||||
@ -743,25 +755,27 @@ test_expect_success 'diff --submodule=diff with .git file' '
|
|||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+foo9
|
+foo9
|
||||||
EOF
|
EOF
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'setup nested submodule' '
|
test_expect_success 'setup nested submodule' '
|
||||||
git submodule add -f ./sm2 &&
|
git submodule add -f ./sm2 &&
|
||||||
git commit -a -m "add sm2" &&
|
git commit -a -m "add sm2" &&
|
||||||
git -C sm2 submodule add ../sm2 nested &&
|
git -C sm2 submodule add ../sm2 nested &&
|
||||||
git -C sm2 commit -a -m "nested sub"
|
git -C sm2 commit -a -m "nested sub" &&
|
||||||
|
head10=$(git -C sm2 rev-parse --short --verify HEAD)
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'move nested submodule HEAD' '
|
test_expect_success 'move nested submodule HEAD' '
|
||||||
echo "nested content" >sm2/nested/file &&
|
echo "nested content" >sm2/nested/file &&
|
||||||
git -C sm2/nested add file &&
|
git -C sm2/nested add file &&
|
||||||
git -C sm2/nested commit --allow-empty -m "new HEAD"
|
git -C sm2/nested commit --allow-empty -m "new HEAD" &&
|
||||||
|
head11=$(git -C sm2/nested rev-parse --short --verify HEAD)
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'diff --submodule=diff with moved nested submodule HEAD' '
|
test_expect_success 'diff --submodule=diff with moved nested submodule HEAD' '
|
||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule nested a5a65c9..b55928c:
|
Submodule nested $head9..$head11:
|
||||||
diff --git a/nested/file b/nested/file
|
diff --git a/nested/file b/nested/file
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..ca281f5
|
index 0000000..ca281f5
|
||||||
@ -772,13 +786,13 @@ test_expect_success 'diff --submodule=diff with moved nested submodule HEAD' '
|
|||||||
EOF
|
EOF
|
||||||
git -C sm2 diff --submodule=diff >actual 2>err &&
|
git -C sm2 diff --submodule=diff >actual 2>err &&
|
||||||
test_must_be_empty err &&
|
test_must_be_empty err &&
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'diff --submodule=diff recurses into nested submodules' '
|
test_expect_success 'diff --submodule=diff recurses into nested submodules' '
|
||||||
cat >expected <<-EOF &&
|
cat >expected <<-EOF &&
|
||||||
Submodule sm2 contains modified content
|
Submodule sm2 contains modified content
|
||||||
Submodule sm2 a5a65c9..280969a:
|
Submodule sm2 $head9..$head10:
|
||||||
diff --git a/sm2/.gitmodules b/sm2/.gitmodules
|
diff --git a/sm2/.gitmodules b/sm2/.gitmodules
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..3a816b8
|
index 0000000..3a816b8
|
||||||
@ -788,7 +802,7 @@ test_expect_success 'diff --submodule=diff recurses into nested submodules' '
|
|||||||
+[submodule "nested"]
|
+[submodule "nested"]
|
||||||
+ path = nested
|
+ path = nested
|
||||||
+ url = ../sm2
|
+ url = ../sm2
|
||||||
Submodule nested 0000000...b55928c (new submodule)
|
Submodule nested 0000000...$head11 (new submodule)
|
||||||
diff --git a/sm2/nested/file b/sm2/nested/file
|
diff --git a/sm2/nested/file b/sm2/nested/file
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..ca281f5
|
index 0000000..ca281f5
|
||||||
@ -813,7 +827,7 @@ test_expect_success 'diff --submodule=diff recurses into nested submodules' '
|
|||||||
EOF
|
EOF
|
||||||
git diff --submodule=diff >actual 2>err &&
|
git diff --submodule=diff >actual 2>err &&
|
||||||
test_must_be_empty err &&
|
test_must_be_empty err &&
|
||||||
test_cmp expected actual
|
diff_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
@ -4,6 +4,7 @@ test_description='test log -L'
|
|||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
|
||||||
test_expect_success 'setup (import history)' '
|
test_expect_success 'setup (import history)' '
|
||||||
|
test_oid_init &&
|
||||||
git fast-import < "$TEST_DIRECTORY"/t4211/history.export &&
|
git fast-import < "$TEST_DIRECTORY"/t4211/history.export &&
|
||||||
git reset --hard
|
git reset --hard
|
||||||
'
|
'
|
||||||
@ -11,7 +12,7 @@ test_expect_success 'setup (import history)' '
|
|||||||
canned_test_1 () {
|
canned_test_1 () {
|
||||||
test_expect_$1 "$2" "
|
test_expect_$1 "$2" "
|
||||||
git log $2 >actual &&
|
git log $2 >actual &&
|
||||||
test_cmp \"\$TEST_DIRECTORY\"/t4211/expect.$3 actual
|
test_cmp \"\$TEST_DIRECTORY\"/t4211/$(test_oid algo)/expect.$3 actual
|
||||||
"
|
"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
43
t/t4211/sha256/expect.beginning-of-file
Normal file
43
t/t4211/sha256/expect.beginning-of-file
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
commit 62a40b38fa4f00800004aee81ef287b7201317594ebcb990f38cbe493b01d200
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:47:40 2013 +0100
|
||||||
|
|
||||||
|
change at very beginning
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+#include <unistd.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
long f(long x)
|
||||||
|
|
||||||
|
commit ccf97b9878189c40a981da50b15713bb80a35755326320ec80900caf22ced46f
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:45:16 2013 +0100
|
||||||
|
|
||||||
|
touch both functions
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -1,3 +1,3 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
-int f(int x)
|
||||||
|
+long f(long x)
|
||||||
|
|
||||||
|
commit 1dd7e9b2b1699324b53b341e728653b913bc192a14dfea168c5b51f2b3d03592
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:48 2013 +0100
|
||||||
|
|
||||||
|
initial
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -0,0 +1,3 @@
|
||||||
|
+#include <stdio.h>
|
||||||
|
+
|
||||||
|
+int f(int x)
|
62
t/t4211/sha256/expect.end-of-file
Normal file
62
t/t4211/sha256/expect.end-of-file
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
commit 5526ed05c2476b56af8b7be499e8f78bd50f490740733a9ca7e1f55878fa90a9
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:48:43 2013 +0100
|
||||||
|
|
||||||
|
change back to complete line
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -20,3 +20,5 @@
|
||||||
|
printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/* incomplete lines are bad! */
|
||||||
|
|
||||||
|
commit 29f32ac3141c48b22803e5c4127b719917b67d0f8ca8c5248bebfa2a19f7da10
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:48:10 2013 +0100
|
||||||
|
|
||||||
|
change to an incomplete line at end
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -20,3 +20,3 @@
|
||||||
|
printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
-}
|
||||||
|
+}
|
||||||
|
\ No newline at end of file
|
||||||
|
|
||||||
|
commit ccf97b9878189c40a981da50b15713bb80a35755326320ec80900caf22ced46f
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:45:16 2013 +0100
|
||||||
|
|
||||||
|
touch both functions
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -19,3 +19,3 @@
|
||||||
|
- printf("%d\n", f(15));
|
||||||
|
+ printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit 1dd7e9b2b1699324b53b341e728653b913bc192a14dfea168c5b51f2b3d03592
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:48 2013 +0100
|
||||||
|
|
||||||
|
initial
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -0,0 +18,3 @@
|
||||||
|
+ printf("%d\n", f(15));
|
||||||
|
+ return 0;
|
||||||
|
+}
|
80
t/t4211/sha256/expect.move-support-f
Normal file
80
t/t4211/sha256/expect.move-support-f
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
commit 4f7a58195a92c400e28a2354328587f1ff14fb77f5cf894536f17ccbc72931b9
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:49:50 2013 +0100
|
||||||
|
|
||||||
|
another simple change
|
||||||
|
|
||||||
|
diff --git a/b.c b/b.c
|
||||||
|
--- a/b.c
|
||||||
|
+++ b/b.c
|
||||||
|
@@ -4,9 +4,9 @@
|
||||||
|
long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
- x >>= 1;
|
||||||
|
+ x /= 2;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit ccf97b9878189c40a981da50b15713bb80a35755326320ec80900caf22ced46f
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:45:16 2013 +0100
|
||||||
|
|
||||||
|
touch both functions
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,9 +3,9 @@
|
||||||
|
-int f(int x)
|
||||||
|
+long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit f6434acd34260a6c9f61e96d96bf9a323d330561df5b1ca2631104f82026dfed
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:55 2013 +0100
|
||||||
|
|
||||||
|
change f()
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,8 +3,9 @@
|
||||||
|
int f(int x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
+ return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit 1dd7e9b2b1699324b53b341e728653b913bc192a14dfea168c5b51f2b3d03592
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:48 2013 +0100
|
||||||
|
|
||||||
|
initial
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -0,0 +3,8 @@
|
||||||
|
+int f(int x)
|
||||||
|
+{
|
||||||
|
+ int s = 0;
|
||||||
|
+ while (x) {
|
||||||
|
+ x >>= 1;
|
||||||
|
+ s++;
|
||||||
|
+ }
|
||||||
|
+}
|
104
t/t4211/sha256/expect.multiple
Normal file
104
t/t4211/sha256/expect.multiple
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
commit 5526ed05c2476b56af8b7be499e8f78bd50f490740733a9ca7e1f55878fa90a9
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:48:43 2013 +0100
|
||||||
|
|
||||||
|
change back to complete line
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -18,5 +18,7 @@
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/* incomplete lines are bad! */
|
||||||
|
|
||||||
|
commit 29f32ac3141c48b22803e5c4127b719917b67d0f8ca8c5248bebfa2a19f7da10
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:48:10 2013 +0100
|
||||||
|
|
||||||
|
change to an incomplete line at end
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -18,5 +18,5 @@
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
-}
|
||||||
|
+}
|
||||||
|
\ No newline at end of file
|
||||||
|
|
||||||
|
commit ccf97b9878189c40a981da50b15713bb80a35755326320ec80900caf22ced46f
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:45:16 2013 +0100
|
||||||
|
|
||||||
|
touch both functions
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,9 +3,9 @@
|
||||||
|
-int f(int x)
|
||||||
|
+long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
@@ -17,5 +17,5 @@
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
- printf("%d\n", f(15));
|
||||||
|
+ printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit f6434acd34260a6c9f61e96d96bf9a323d330561df5b1ca2631104f82026dfed
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:55 2013 +0100
|
||||||
|
|
||||||
|
change f()
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,8 +3,9 @@
|
||||||
|
int f(int x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
+ return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit 1dd7e9b2b1699324b53b341e728653b913bc192a14dfea168c5b51f2b3d03592
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:48 2013 +0100
|
||||||
|
|
||||||
|
initial
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -0,0 +3,8 @@
|
||||||
|
+int f(int x)
|
||||||
|
+{
|
||||||
|
+ int s = 0;
|
||||||
|
+ while (x) {
|
||||||
|
+ x >>= 1;
|
||||||
|
+ s++;
|
||||||
|
+ }
|
||||||
|
+}
|
187
t/t4211/sha256/expect.multiple-overlapping
Normal file
187
t/t4211/sha256/expect.multiple-overlapping
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
commit 5526ed05c2476b56af8b7be499e8f78bd50f490740733a9ca7e1f55878fa90a9
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:48:43 2013 +0100
|
||||||
|
|
||||||
|
change back to complete line
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -4,19 +4,21 @@
|
||||||
|
long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is only an example!
|
||||||
|
*/
|
||||||
|
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/* incomplete lines are bad! */
|
||||||
|
|
||||||
|
commit 29f32ac3141c48b22803e5c4127b719917b67d0f8ca8c5248bebfa2a19f7da10
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:48:10 2013 +0100
|
||||||
|
|
||||||
|
change to an incomplete line at end
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -4,19 +4,19 @@
|
||||||
|
long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is only an example!
|
||||||
|
*/
|
||||||
|
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
-}
|
||||||
|
+}
|
||||||
|
\ No newline at end of file
|
||||||
|
|
||||||
|
commit 5a1b3989063d55e71e7685efa3392f133385b4034bddde530dcb5090d8b8b8ca
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:45:41 2013 +0100
|
||||||
|
|
||||||
|
touch comment
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,19 +3,19 @@
|
||||||
|
long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
- * A comment.
|
||||||
|
+ * This is only an example!
|
||||||
|
*/
|
||||||
|
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit ccf97b9878189c40a981da50b15713bb80a35755326320ec80900caf22ced46f
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:45:16 2013 +0100
|
||||||
|
|
||||||
|
touch both functions
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,19 +3,19 @@
|
||||||
|
-int f(int x)
|
||||||
|
+long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A comment.
|
||||||
|
*/
|
||||||
|
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
- printf("%d\n", f(15));
|
||||||
|
+ printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit f6434acd34260a6c9f61e96d96bf9a323d330561df5b1ca2631104f82026dfed
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:55 2013 +0100
|
||||||
|
|
||||||
|
change f()
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,18 +3,19 @@
|
||||||
|
int f(int x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
+ return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A comment.
|
||||||
|
*/
|
||||||
|
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf("%d\n", f(15));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit 1dd7e9b2b1699324b53b341e728653b913bc192a14dfea168c5b51f2b3d03592
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:48 2013 +0100
|
||||||
|
|
||||||
|
initial
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -0,0 +3,18 @@
|
||||||
|
+int f(int x)
|
||||||
|
+{
|
||||||
|
+ int s = 0;
|
||||||
|
+ while (x) {
|
||||||
|
+ x >>= 1;
|
||||||
|
+ s++;
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * A comment.
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+int main ()
|
||||||
|
+{
|
||||||
|
+ printf("%d\n", f(15));
|
||||||
|
+ return 0;
|
||||||
|
+}
|
187
t/t4211/sha256/expect.multiple-superset
Normal file
187
t/t4211/sha256/expect.multiple-superset
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
commit 5526ed05c2476b56af8b7be499e8f78bd50f490740733a9ca7e1f55878fa90a9
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:48:43 2013 +0100
|
||||||
|
|
||||||
|
change back to complete line
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -4,19 +4,21 @@
|
||||||
|
long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is only an example!
|
||||||
|
*/
|
||||||
|
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/* incomplete lines are bad! */
|
||||||
|
|
||||||
|
commit 29f32ac3141c48b22803e5c4127b719917b67d0f8ca8c5248bebfa2a19f7da10
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:48:10 2013 +0100
|
||||||
|
|
||||||
|
change to an incomplete line at end
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -4,19 +4,19 @@
|
||||||
|
long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is only an example!
|
||||||
|
*/
|
||||||
|
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
-}
|
||||||
|
+}
|
||||||
|
\ No newline at end of file
|
||||||
|
|
||||||
|
commit 5a1b3989063d55e71e7685efa3392f133385b4034bddde530dcb5090d8b8b8ca
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:45:41 2013 +0100
|
||||||
|
|
||||||
|
touch comment
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,19 +3,19 @@
|
||||||
|
long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
- * A comment.
|
||||||
|
+ * This is only an example!
|
||||||
|
*/
|
||||||
|
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit ccf97b9878189c40a981da50b15713bb80a35755326320ec80900caf22ced46f
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:45:16 2013 +0100
|
||||||
|
|
||||||
|
touch both functions
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,19 +3,19 @@
|
||||||
|
-int f(int x)
|
||||||
|
+long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A comment.
|
||||||
|
*/
|
||||||
|
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
- printf("%d\n", f(15));
|
||||||
|
+ printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit f6434acd34260a6c9f61e96d96bf9a323d330561df5b1ca2631104f82026dfed
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:55 2013 +0100
|
||||||
|
|
||||||
|
change f()
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,18 +3,19 @@
|
||||||
|
int f(int x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
+ return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A comment.
|
||||||
|
*/
|
||||||
|
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf("%d\n", f(15));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit 1dd7e9b2b1699324b53b341e728653b913bc192a14dfea168c5b51f2b3d03592
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:48 2013 +0100
|
||||||
|
|
||||||
|
initial
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -0,0 +3,18 @@
|
||||||
|
+int f(int x)
|
||||||
|
+{
|
||||||
|
+ int s = 0;
|
||||||
|
+ while (x) {
|
||||||
|
+ x >>= 1;
|
||||||
|
+ s++;
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * A comment.
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+int main ()
|
||||||
|
+{
|
||||||
|
+ printf("%d\n", f(15));
|
||||||
|
+ return 0;
|
||||||
|
+}
|
160
t/t4211/sha256/expect.parallel-change-f-to-main
Normal file
160
t/t4211/sha256/expect.parallel-change-f-to-main
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
commit 98117c2059b76c36995748fb97b02542aef477fe26379e94c18fd70f7790bc67
|
||||||
|
Merge: b511694 4f7a581
|
||||||
|
Author: Thomas Rast <trast@inf.ethz.ch>
|
||||||
|
Date: Fri Apr 12 16:16:24 2013 +0200
|
||||||
|
|
||||||
|
Merge across the rename
|
||||||
|
|
||||||
|
|
||||||
|
commit 4f7a58195a92c400e28a2354328587f1ff14fb77f5cf894536f17ccbc72931b9
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:49:50 2013 +0100
|
||||||
|
|
||||||
|
another simple change
|
||||||
|
|
||||||
|
diff --git a/b.c b/b.c
|
||||||
|
--- a/b.c
|
||||||
|
+++ b/b.c
|
||||||
|
@@ -4,14 +4,14 @@
|
||||||
|
long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
- x >>= 1;
|
||||||
|
+ x /= 2;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is only an example!
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
commit b511694f5337663fbd697622993a5f8e1099eca84be4df313f2b3ee94a098b42
|
||||||
|
Author: Thomas Rast <trast@inf.ethz.ch>
|
||||||
|
Date: Fri Apr 12 16:15:57 2013 +0200
|
||||||
|
|
||||||
|
change on another line of history while rename happens
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -4,14 +4,14 @@
|
||||||
|
long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
- * This is only an example!
|
||||||
|
+ * This is only a short example!
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
commit 5a1b3989063d55e71e7685efa3392f133385b4034bddde530dcb5090d8b8b8ca
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:45:41 2013 +0100
|
||||||
|
|
||||||
|
touch comment
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,14 +3,14 @@
|
||||||
|
long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
- * A comment.
|
||||||
|
+ * This is only an example!
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
commit ccf97b9878189c40a981da50b15713bb80a35755326320ec80900caf22ced46f
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:45:16 2013 +0100
|
||||||
|
|
||||||
|
touch both functions
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,14 +3,14 @@
|
||||||
|
-int f(int x)
|
||||||
|
+long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A comment.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
commit f6434acd34260a6c9f61e96d96bf9a323d330561df5b1ca2631104f82026dfed
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:55 2013 +0100
|
||||||
|
|
||||||
|
change f()
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,13 +3,14 @@
|
||||||
|
int f(int x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
+ return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A comment.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
commit 1dd7e9b2b1699324b53b341e728653b913bc192a14dfea168c5b51f2b3d03592
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:48 2013 +0100
|
||||||
|
|
||||||
|
initial
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -0,0 +3,13 @@
|
||||||
|
+int f(int x)
|
||||||
|
+{
|
||||||
|
+ int s = 0;
|
||||||
|
+ while (x) {
|
||||||
|
+ x >>= 1;
|
||||||
|
+ s++;
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * A comment.
|
||||||
|
+ */
|
||||||
|
+
|
59
t/t4211/sha256/expect.simple-f
Normal file
59
t/t4211/sha256/expect.simple-f
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
commit ccf97b9878189c40a981da50b15713bb80a35755326320ec80900caf22ced46f
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:45:16 2013 +0100
|
||||||
|
|
||||||
|
touch both functions
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,9 +3,9 @@
|
||||||
|
-int f(int x)
|
||||||
|
+long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit f6434acd34260a6c9f61e96d96bf9a323d330561df5b1ca2631104f82026dfed
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:55 2013 +0100
|
||||||
|
|
||||||
|
change f()
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,8 +3,9 @@
|
||||||
|
int f(int x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
+ return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit 1dd7e9b2b1699324b53b341e728653b913bc192a14dfea168c5b51f2b3d03592
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:48 2013 +0100
|
||||||
|
|
||||||
|
initial
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -0,0 +3,8 @@
|
||||||
|
+int f(int x)
|
||||||
|
+{
|
||||||
|
+ int s = 0;
|
||||||
|
+ while (x) {
|
||||||
|
+ x >>= 1;
|
||||||
|
+ s++;
|
||||||
|
+ }
|
||||||
|
+}
|
100
t/t4211/sha256/expect.simple-f-to-main
Normal file
100
t/t4211/sha256/expect.simple-f-to-main
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
commit 5a1b3989063d55e71e7685efa3392f133385b4034bddde530dcb5090d8b8b8ca
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:45:41 2013 +0100
|
||||||
|
|
||||||
|
touch comment
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,14 +3,14 @@
|
||||||
|
long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
- * A comment.
|
||||||
|
+ * This is only an example!
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
commit ccf97b9878189c40a981da50b15713bb80a35755326320ec80900caf22ced46f
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:45:16 2013 +0100
|
||||||
|
|
||||||
|
touch both functions
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,14 +3,14 @@
|
||||||
|
-int f(int x)
|
||||||
|
+long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A comment.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
commit f6434acd34260a6c9f61e96d96bf9a323d330561df5b1ca2631104f82026dfed
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:55 2013 +0100
|
||||||
|
|
||||||
|
change f()
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,13 +3,14 @@
|
||||||
|
int f(int x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
+ return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A comment.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
commit 1dd7e9b2b1699324b53b341e728653b913bc192a14dfea168c5b51f2b3d03592
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:48 2013 +0100
|
||||||
|
|
||||||
|
initial
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -0,0 +3,13 @@
|
||||||
|
+int f(int x)
|
||||||
|
+{
|
||||||
|
+ int s = 0;
|
||||||
|
+ while (x) {
|
||||||
|
+ x >>= 1;
|
||||||
|
+ s++;
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * A comment.
|
||||||
|
+ */
|
||||||
|
+
|
68
t/t4211/sha256/expect.simple-main
Normal file
68
t/t4211/sha256/expect.simple-main
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
commit 5526ed05c2476b56af8b7be499e8f78bd50f490740733a9ca7e1f55878fa90a9
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:48:43 2013 +0100
|
||||||
|
|
||||||
|
change back to complete line
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -18,5 +18,5 @@
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
||||||
|
|
||||||
|
commit 29f32ac3141c48b22803e5c4127b719917b67d0f8ca8c5248bebfa2a19f7da10
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:48:10 2013 +0100
|
||||||
|
|
||||||
|
change to an incomplete line at end
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -18,5 +18,5 @@
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
-}
|
||||||
|
+}
|
||||||
|
\ No newline at end of file
|
||||||
|
|
||||||
|
commit ccf97b9878189c40a981da50b15713bb80a35755326320ec80900caf22ced46f
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:45:16 2013 +0100
|
||||||
|
|
||||||
|
touch both functions
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -17,5 +17,5 @@
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
- printf("%d\n", f(15));
|
||||||
|
+ printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit 1dd7e9b2b1699324b53b341e728653b913bc192a14dfea168c5b51f2b3d03592
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:48 2013 +0100
|
||||||
|
|
||||||
|
initial
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -0,0 +16,5 @@
|
||||||
|
+int main ()
|
||||||
|
+{
|
||||||
|
+ printf("%d\n", f(15));
|
||||||
|
+ return 0;
|
||||||
|
+}
|
70
t/t4211/sha256/expect.simple-main-to-end
Normal file
70
t/t4211/sha256/expect.simple-main-to-end
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
commit 5526ed05c2476b56af8b7be499e8f78bd50f490740733a9ca7e1f55878fa90a9
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:48:43 2013 +0100
|
||||||
|
|
||||||
|
change back to complete line
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -18,5 +18,7 @@
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/* incomplete lines are bad! */
|
||||||
|
|
||||||
|
commit 29f32ac3141c48b22803e5c4127b719917b67d0f8ca8c5248bebfa2a19f7da10
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:48:10 2013 +0100
|
||||||
|
|
||||||
|
change to an incomplete line at end
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -18,5 +18,5 @@
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
-}
|
||||||
|
+}
|
||||||
|
\ No newline at end of file
|
||||||
|
|
||||||
|
commit ccf97b9878189c40a981da50b15713bb80a35755326320ec80900caf22ced46f
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:45:16 2013 +0100
|
||||||
|
|
||||||
|
touch both functions
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -17,5 +17,5 @@
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
- printf("%d\n", f(15));
|
||||||
|
+ printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit 1dd7e9b2b1699324b53b341e728653b913bc192a14dfea168c5b51f2b3d03592
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:48 2013 +0100
|
||||||
|
|
||||||
|
initial
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -0,0 +16,5 @@
|
||||||
|
+int main ()
|
||||||
|
+{
|
||||||
|
+ printf("%d\n", f(15));
|
||||||
|
+ return 0;
|
||||||
|
+}
|
102
t/t4211/sha256/expect.two-ranges
Normal file
102
t/t4211/sha256/expect.two-ranges
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
commit 5526ed05c2476b56af8b7be499e8f78bd50f490740733a9ca7e1f55878fa90a9
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:48:43 2013 +0100
|
||||||
|
|
||||||
|
change back to complete line
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -18,5 +18,5 @@
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
||||||
|
|
||||||
|
commit 29f32ac3141c48b22803e5c4127b719917b67d0f8ca8c5248bebfa2a19f7da10
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:48:10 2013 +0100
|
||||||
|
|
||||||
|
change to an incomplete line at end
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -18,5 +18,5 @@
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
-}
|
||||||
|
+}
|
||||||
|
\ No newline at end of file
|
||||||
|
|
||||||
|
commit ccf97b9878189c40a981da50b15713bb80a35755326320ec80900caf22ced46f
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:45:16 2013 +0100
|
||||||
|
|
||||||
|
touch both functions
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,9 +3,9 @@
|
||||||
|
-int f(int x)
|
||||||
|
+long f(long x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
@@ -17,5 +17,5 @@
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
- printf("%d\n", f(15));
|
||||||
|
+ printf("%ld\n", f(15));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit f6434acd34260a6c9f61e96d96bf9a323d330561df5b1ca2631104f82026dfed
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:55 2013 +0100
|
||||||
|
|
||||||
|
change f()
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -3,8 +3,9 @@
|
||||||
|
int f(int x)
|
||||||
|
{
|
||||||
|
int s = 0;
|
||||||
|
while (x) {
|
||||||
|
x >>= 1;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
+ return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
commit 1dd7e9b2b1699324b53b341e728653b913bc192a14dfea168c5b51f2b3d03592
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:48 2013 +0100
|
||||||
|
|
||||||
|
initial
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -0,0 +3,8 @@
|
||||||
|
+int f(int x)
|
||||||
|
+{
|
||||||
|
+ int s = 0;
|
||||||
|
+ while (x) {
|
||||||
|
+ x >>= 1;
|
||||||
|
+ s++;
|
||||||
|
+ }
|
||||||
|
+}
|
39
t/t4211/sha256/expect.vanishes-early
Normal file
39
t/t4211/sha256/expect.vanishes-early
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
commit 5526ed05c2476b56af8b7be499e8f78bd50f490740733a9ca7e1f55878fa90a9
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:48:43 2013 +0100
|
||||||
|
|
||||||
|
change back to complete line
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -22,1 +24,1 @@
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+/* incomplete lines are bad! */
|
||||||
|
|
||||||
|
commit 29f32ac3141c48b22803e5c4127b719917b67d0f8ca8c5248bebfa2a19f7da10
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:48:10 2013 +0100
|
||||||
|
|
||||||
|
change to an incomplete line at end
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- a/a.c
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -22,1 +22,1 @@
|
||||||
|
-}
|
||||||
|
+}
|
||||||
|
\ No newline at end of file
|
||||||
|
|
||||||
|
commit 1dd7e9b2b1699324b53b341e728653b913bc192a14dfea168c5b51f2b3d03592
|
||||||
|
Author: Thomas Rast <trast@student.ethz.ch>
|
||||||
|
Date: Thu Feb 28 10:44:48 2013 +0100
|
||||||
|
|
||||||
|
initial
|
||||||
|
|
||||||
|
diff --git a/a.c b/a.c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/a.c
|
||||||
|
@@ -0,0 +20,1 @@
|
||||||
|
+}
|
@ -6,9 +6,10 @@
|
|||||||
test_description='pack index with 64-bit offsets and object CRC'
|
test_description='pack index with 64-bit offsets and object CRC'
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success 'setup' '
|
||||||
'setup' \
|
test_oid_init &&
|
||||||
'rm -rf .git &&
|
rawsz=$(test_oid rawsz) &&
|
||||||
|
rm -rf .git &&
|
||||||
git init &&
|
git init &&
|
||||||
git config pack.threads 1 &&
|
git config pack.threads 1 &&
|
||||||
i=1 &&
|
i=1 &&
|
||||||
@ -32,7 +33,8 @@ test_expect_success \
|
|||||||
echo $tree &&
|
echo $tree &&
|
||||||
git ls-tree $tree | sed -e "s/.* \\([0-9a-f]*\\) .*/\\1/"
|
git ls-tree $tree | sed -e "s/.* \\([0-9a-f]*\\) .*/\\1/"
|
||||||
} >obj-list &&
|
} >obj-list &&
|
||||||
git update-ref HEAD $commit'
|
git update-ref HEAD $commit
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success \
|
||||||
'pack-objects with index version 1' \
|
'pack-objects with index version 1' \
|
||||||
@ -157,10 +159,11 @@ test_expect_success \
|
|||||||
offs_101=$(index_obj_offset 1.idx $sha1_101) &&
|
offs_101=$(index_obj_offset 1.idx $sha1_101) &&
|
||||||
nr_099=$(index_obj_nr 1.idx $sha1_099) &&
|
nr_099=$(index_obj_nr 1.idx $sha1_099) &&
|
||||||
chmod +w ".git/objects/pack/pack-${pack1}.pack" &&
|
chmod +w ".git/objects/pack/pack-${pack1}.pack" &&
|
||||||
|
recordsz=$((rawsz + 4)) &&
|
||||||
dd of=".git/objects/pack/pack-${pack1}.pack" seek=$(($offs_101 + 1)) \
|
dd of=".git/objects/pack/pack-${pack1}.pack" seek=$(($offs_101 + 1)) \
|
||||||
if=".git/objects/pack/pack-${pack1}.idx" \
|
if=".git/objects/pack/pack-${pack1}.idx" \
|
||||||
skip=$((4 + 256 * 4 + $nr_099 * 24)) \
|
skip=$((4 + 256 * 4 + $nr_099 * recordsz)) \
|
||||||
bs=1 count=20 conv=notrunc &&
|
bs=1 count=$rawsz conv=notrunc &&
|
||||||
git cat-file blob $sha1_101 > file_101_foo1'
|
git cat-file blob $sha1_101 > file_101_foo1'
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success \
|
||||||
@ -200,8 +203,8 @@ test_expect_success \
|
|||||||
chmod +w ".git/objects/pack/pack-${pack1}.pack" &&
|
chmod +w ".git/objects/pack/pack-${pack1}.pack" &&
|
||||||
dd of=".git/objects/pack/pack-${pack1}.pack" seek=$(($offs_101 + 1)) \
|
dd of=".git/objects/pack/pack-${pack1}.pack" seek=$(($offs_101 + 1)) \
|
||||||
if=".git/objects/pack/pack-${pack1}.idx" \
|
if=".git/objects/pack/pack-${pack1}.idx" \
|
||||||
skip=$((8 + 256 * 4 + $nr_099 * 20)) \
|
skip=$((8 + 256 * 4 + $nr_099 * rawsz)) \
|
||||||
bs=1 count=20 conv=notrunc &&
|
bs=1 count=$rawsz conv=notrunc &&
|
||||||
git cat-file blob $sha1_101 > file_101_foo2'
|
git cat-file blob $sha1_101 > file_101_foo2'
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success \
|
||||||
@ -226,7 +229,7 @@ test_expect_success \
|
|||||||
nr=$(index_obj_nr ".git/objects/pack/pack-${pack1}.idx" $obj) &&
|
nr=$(index_obj_nr ".git/objects/pack/pack-${pack1}.idx" $obj) &&
|
||||||
chmod +w ".git/objects/pack/pack-${pack1}.idx" &&
|
chmod +w ".git/objects/pack/pack-${pack1}.idx" &&
|
||||||
printf xxxx | dd of=".git/objects/pack/pack-${pack1}.idx" conv=notrunc \
|
printf xxxx | dd of=".git/objects/pack/pack-${pack1}.idx" conv=notrunc \
|
||||||
bs=1 count=4 seek=$((8 + 256 * 4 + $(wc -l <obj-list) * 20 + $nr * 4)) &&
|
bs=1 count=4 seek=$((8 + 256 * 4 + $(wc -l <obj-list) * rawsz + $nr * 4)) &&
|
||||||
( while read obj
|
( while read obj
|
||||||
do git cat-file -p $obj >/dev/null || exit 1
|
do git cat-file -p $obj >/dev/null || exit 1
|
||||||
done <obj-list ) &&
|
done <obj-list ) &&
|
||||||
|
@ -4,15 +4,9 @@ test_description='test index-pack handling of delta cycles in packfiles'
|
|||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
. "$TEST_DIRECTORY"/lib-pack.sh
|
. "$TEST_DIRECTORY"/lib-pack.sh
|
||||||
|
|
||||||
if ! test_have_prereq SHA1
|
|
||||||
then
|
|
||||||
skip_all='not using SHA-1 for objects'
|
|
||||||
test_done
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Two similar-ish objects that we have computed deltas between.
|
# Two similar-ish objects that we have computed deltas between.
|
||||||
A=01d7713666f4de822776c7622c10f1b07de280dc
|
A=$(test_oid packlib_7_0)
|
||||||
B=e68fe8129b546b101aee9510c5328e7f21ca1d18
|
B=$(test_oid packlib_7_76)
|
||||||
|
|
||||||
# double-check our hand-constucted packs
|
# double-check our hand-constucted packs
|
||||||
test_expect_success 'index-pack works with a single delta (A->B)' '
|
test_expect_success 'index-pack works with a single delta (A->B)' '
|
||||||
|
@ -38,16 +38,27 @@ munge () {
|
|||||||
# for the initial, and another ofs(4*nr) past that for the extended.
|
# for the initial, and another ofs(4*nr) past that for the extended.
|
||||||
#
|
#
|
||||||
ofs_table () {
|
ofs_table () {
|
||||||
echo $((4 + 4 + 4*256 + 20*$1 + 4*$1))
|
echo $((4 + 4 + 4*256 + $(test_oid rawsz)*$1 + 4*$1))
|
||||||
}
|
}
|
||||||
extended_table () {
|
extended_table () {
|
||||||
echo $(($(ofs_table "$1") + 4*$1))
|
echo $(($(ofs_table "$1") + 4*$1))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test_expect_success 'setup' '
|
||||||
|
test_oid_init &&
|
||||||
|
test_oid_cache <<-EOF
|
||||||
|
oid000 sha1:1485
|
||||||
|
oid000 sha256:4222
|
||||||
|
|
||||||
|
oidfff sha1:74
|
||||||
|
oidfff sha256:1350
|
||||||
|
EOF
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success 'set up base packfile and variables' '
|
test_expect_success 'set up base packfile and variables' '
|
||||||
# the hash of this content starts with ff, which
|
# the hash of this content starts with ff, which
|
||||||
# makes some later computations much simpler
|
# makes some later computations much simpler
|
||||||
echo 74 >file &&
|
echo $(test_oid oidfff) >file &&
|
||||||
git add file &&
|
git add file &&
|
||||||
git commit -m base &&
|
git commit -m base &&
|
||||||
git repack -ad &&
|
git repack -ad &&
|
||||||
@ -140,10 +151,10 @@ test_expect_success 'bogus offset inside v2 extended table' '
|
|||||||
# an extended table (if the first object were larger than 2^31).
|
# an extended table (if the first object were larger than 2^31).
|
||||||
#
|
#
|
||||||
# Note that the value is important here. We want $object as
|
# Note that the value is important here. We want $object as
|
||||||
# the second entry in sorted-sha1 order. The sha1 of 1485 starts
|
# the second entry in sorted-hash order. The hash of this object starts
|
||||||
# with "000", which sorts before that of $object (which starts
|
# with "000", which sorts before that of $object (which starts
|
||||||
# with "fff").
|
# with "fff").
|
||||||
second=$(echo 1485 | git hash-object -w --stdin) &&
|
second=$(test_oid oid000 | git hash-object -w --stdin) &&
|
||||||
do_pack "$object $second" --index-version=2 &&
|
do_pack "$object $second" --index-version=2 &&
|
||||||
|
|
||||||
# We have to make extra room for the table, so we cannot
|
# We have to make extra room for the table, so we cannot
|
||||||
|
@ -629,7 +629,7 @@ test_expect_success 'corrupt commit-graph write (broken parent)' '
|
|||||||
empty="$(git mktree </dev/null)" &&
|
empty="$(git mktree </dev/null)" &&
|
||||||
cat >broken <<-EOF &&
|
cat >broken <<-EOF &&
|
||||||
tree $empty
|
tree $empty
|
||||||
parent 0000000000000000000000000000000000000000
|
parent $ZERO_OID
|
||||||
author whatever <whatever@example.com> 1234 -0000
|
author whatever <whatever@example.com> 1234 -0000
|
||||||
committer whatever <whatever@example.com> 1234 -0000
|
committer whatever <whatever@example.com> 1234 -0000
|
||||||
|
|
||||||
@ -650,7 +650,7 @@ test_expect_success 'corrupt commit-graph write (missing tree)' '
|
|||||||
cd repo &&
|
cd repo &&
|
||||||
tree="$(git mktree </dev/null)" &&
|
tree="$(git mktree </dev/null)" &&
|
||||||
cat >broken <<-EOF &&
|
cat >broken <<-EOF &&
|
||||||
parent 0000000000000000000000000000000000000000
|
parent $ZERO_OID
|
||||||
author whatever <whatever@example.com> 1234 -0000
|
author whatever <whatever@example.com> 1234 -0000
|
||||||
committer whatever <whatever@example.com> 1234 -0000
|
committer whatever <whatever@example.com> 1234 -0000
|
||||||
|
|
||||||
|
@ -10,8 +10,8 @@ test_description='git pack-object with "large" deltas
|
|||||||
. "$TEST_DIRECTORY"/lib-pack.sh
|
. "$TEST_DIRECTORY"/lib-pack.sh
|
||||||
|
|
||||||
# Two similar-ish objects that we have computed deltas between.
|
# Two similar-ish objects that we have computed deltas between.
|
||||||
A=01d7713666f4de822776c7622c10f1b07de280dc
|
A=$(test_oid packlib_7_0)
|
||||||
B=e68fe8129b546b101aee9510c5328e7f21ca1d18
|
B=$(test_oid packlib_7_76)
|
||||||
|
|
||||||
test_expect_success 'setup' '
|
test_expect_success 'setup' '
|
||||||
clear_packs &&
|
clear_packs &&
|
||||||
|
@ -13,11 +13,55 @@ export GIT_TEST_PROTOCOL_VERSION
|
|||||||
|
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
|
||||||
|
build_script () {
|
||||||
|
script="$1" &&
|
||||||
|
for i in one three_file master master2 one_tree three two two2 three2
|
||||||
|
do
|
||||||
|
echo "s/$(test_oid --hash=sha1 "$i")/$(test_oid "$i")/g" >>"$script"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
convert_expected () {
|
||||||
|
file="$1" &&
|
||||||
|
script="$2" &&
|
||||||
|
sed -f "$script" "$file" >"$file.tmp" &&
|
||||||
|
mv "$file.tmp" "$file"
|
||||||
|
}
|
||||||
|
|
||||||
test_expect_success setup '
|
test_expect_success setup '
|
||||||
GIT_AUTHOR_DATE="2006-06-26 00:00:00 +0000" &&
|
GIT_AUTHOR_DATE="2006-06-26 00:00:00 +0000" &&
|
||||||
GIT_COMMITTER_DATE="2006-06-26 00:00:00 +0000" &&
|
GIT_COMMITTER_DATE="2006-06-26 00:00:00 +0000" &&
|
||||||
export GIT_AUTHOR_DATE GIT_COMMITTER_DATE &&
|
export GIT_AUTHOR_DATE GIT_COMMITTER_DATE &&
|
||||||
|
|
||||||
|
test_oid_cache <<-EOF &&
|
||||||
|
one sha1:8e32a6d901327a23ef831511badce7bf3bf46689
|
||||||
|
one sha256:8739546433ab1ac72ee93088dce611210effee072b2b586ceac6dde43ebec9ce
|
||||||
|
|
||||||
|
three_file sha1:0e3b14047d3ee365f4f2a1b673db059c3972589c
|
||||||
|
three_file sha256:bc4447d50c07497a8bfe6eef817f2364ecca9d471452e43b52756cc1a908bd32
|
||||||
|
|
||||||
|
master sha1:6c9dec2b923228c9ff994c6cfe4ae16c12408dc5
|
||||||
|
master sha256:8521c3072461fcfe8f32d67f95cc6e6b832a2db2fa29769ffc788bce85ebcd75
|
||||||
|
|
||||||
|
one_tree sha1:22feea448b023a2d864ef94b013735af34d238ba
|
||||||
|
one_tree sha256:6e4743f4ef2356b881dda5e91f5c7cdffe870faf350bf7b312f80a20935f5d83
|
||||||
|
|
||||||
|
three sha1:c61a82b60967180544e3c19f819ddbd0c9f89899
|
||||||
|
three sha256:0cc6d1eda617ded715170786e31ba4e2d0185404ec5a3508dd0d73b324860c6a
|
||||||
|
|
||||||
|
two sha1:525b7fb068d59950d185a8779dc957c77eed73ba
|
||||||
|
two sha256:3b21de3440cd38c2a9e9b464adb923f7054949ed4c918e1a0ac4c95cd52774db
|
||||||
|
|
||||||
|
master2 sha1:754b754407bf032e9a2f9d5a9ad05ca79a6b228f
|
||||||
|
master2 sha256:6c7abaea8a6d8ef4d89877e68462758dc6774690fbbbb0e6d7dd57415c9abde0
|
||||||
|
|
||||||
|
two2 sha1:6134ee8f857693b96ff1cc98d3e2fd62b199e5a8
|
||||||
|
two2 sha256:87a2d3ee29c83a3dc7afd41c0606b11f67603120b910a7be7840accdc18344d4
|
||||||
|
|
||||||
|
three2 sha1:0567da4d5edd2ff4bb292a465ba9e64dcad9536b
|
||||||
|
three2 sha256:cceb3e8eca364fa9a0a39a1efbebecacc664af86cbbd8070571f5faeb5f0e8c3
|
||||||
|
EOF
|
||||||
|
|
||||||
echo >file original &&
|
echo >file original &&
|
||||||
git add file &&
|
git add file &&
|
||||||
git commit -a -m One &&
|
git commit -a -m One &&
|
||||||
@ -87,7 +131,8 @@ test_expect_success setup '
|
|||||||
git config branch.br-$remote-octopus.remote $remote &&
|
git config branch.br-$remote-octopus.remote $remote &&
|
||||||
git config branch.br-$remote-octopus.merge refs/heads/one &&
|
git config branch.br-$remote-octopus.merge refs/heads/one &&
|
||||||
git config --add branch.br-$remote-octopus.merge two
|
git config --add branch.br-$remote-octopus.merge two
|
||||||
done
|
done &&
|
||||||
|
build_script sed_script
|
||||||
'
|
'
|
||||||
|
|
||||||
# Merge logic depends on branch properties and Pull: or .fetch lines
|
# Merge logic depends on branch properties and Pull: or .fetch lines
|
||||||
@ -138,6 +183,10 @@ do
|
|||||||
actual_r="$pfx-refs.$test"
|
actual_r="$pfx-refs.$test"
|
||||||
|
|
||||||
test_expect_success "$cmd" '
|
test_expect_success "$cmd" '
|
||||||
|
cp "$expect_f" expect_f &&
|
||||||
|
convert_expected expect_f sed_script &&
|
||||||
|
cp "$expect_r" expect_r &&
|
||||||
|
convert_expected expect_r sed_script &&
|
||||||
{
|
{
|
||||||
echo "# $cmd"
|
echo "# $cmd"
|
||||||
set x $cmd; shift
|
set x $cmd; shift
|
||||||
@ -153,18 +202,18 @@ do
|
|||||||
cat .git/FETCH_HEAD
|
cat .git/FETCH_HEAD
|
||||||
} >"$actual_f" &&
|
} >"$actual_f" &&
|
||||||
git show-ref >"$actual_r" &&
|
git show-ref >"$actual_r" &&
|
||||||
if test -f "$expect_f"
|
if test -f "expect_f"
|
||||||
then
|
then
|
||||||
test_cmp "$expect_f" "$actual_f" &&
|
test_cmp "expect_f" "$actual_f" &&
|
||||||
rm -f "$actual_f"
|
rm -f "$actual_f"
|
||||||
else
|
else
|
||||||
# this is to help developing new tests.
|
# this is to help developing new tests.
|
||||||
cp "$actual_f" "$expect_f"
|
cp "$actual_f" "$expect_f"
|
||||||
false
|
false
|
||||||
fi &&
|
fi &&
|
||||||
if test -f "$expect_r"
|
if test -f "expect_r"
|
||||||
then
|
then
|
||||||
test_cmp "$expect_r" "$actual_r" &&
|
test_cmp "expect_r" "$actual_r" &&
|
||||||
rm -f "$actual_r"
|
rm -f "$actual_r"
|
||||||
else
|
else
|
||||||
# this is to help developing new tests.
|
# this is to help developing new tests.
|
||||||
|
@ -64,7 +64,7 @@ test_expect_success 'ridiculously long subject in boundary' '
|
|||||||
test -s heads &&
|
test -s heads &&
|
||||||
git fetch long-subject-bundle.bdl &&
|
git fetch long-subject-bundle.bdl &&
|
||||||
sed -n "/^-/{p;q;}" long-subject-bundle.bdl >boundary &&
|
sed -n "/^-/{p;q;}" long-subject-bundle.bdl >boundary &&
|
||||||
grep "^-[0-9a-f]\\{40\\} " boundary
|
grep "^-$OID_REGEX " boundary
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'prerequisites with an empty commit message' '
|
test_expect_success 'prerequisites with an empty commit message' '
|
||||||
|
@ -19,7 +19,7 @@ get_actual_commits () {
|
|||||||
}' <out | test-tool pkt-line unpack-sideband >o.pack &&
|
}' <out | test-tool pkt-line unpack-sideband >o.pack &&
|
||||||
git index-pack o.pack &&
|
git index-pack o.pack &&
|
||||||
git verify-pack -v o.idx >objs &&
|
git verify-pack -v o.idx >objs &&
|
||||||
grep commit objs | cut -c-40 | sort >actual_commits
|
grep commit objs | cut -d" " -f1 | sort >actual_commits
|
||||||
}
|
}
|
||||||
|
|
||||||
check_output () {
|
check_output () {
|
||||||
@ -37,6 +37,7 @@ check_output () {
|
|||||||
# \ | /
|
# \ | /
|
||||||
# a
|
# a
|
||||||
test_expect_success 'setup repository' '
|
test_expect_success 'setup repository' '
|
||||||
|
test_oid_init &&
|
||||||
test_commit a &&
|
test_commit a &&
|
||||||
git checkout -b o/foo &&
|
git checkout -b o/foo &&
|
||||||
test_commit b &&
|
test_commit b &&
|
||||||
@ -333,7 +334,7 @@ test_expect_success 'server is initially ahead - no ref in want' '
|
|||||||
git -C "$REPO" config uploadpack.allowRefInWant false &&
|
git -C "$REPO" config uploadpack.allowRefInWant false &&
|
||||||
rm -rf local &&
|
rm -rf local &&
|
||||||
cp -r "$LOCAL_PRISTINE" local &&
|
cp -r "$LOCAL_PRISTINE" local &&
|
||||||
inconsistency master 1234567890123456789012345678901234567890 &&
|
inconsistency master $(test_oid numeric) &&
|
||||||
test_must_fail git -C local fetch 2>err &&
|
test_must_fail git -C local fetch 2>err &&
|
||||||
test_i18ngrep "fatal: remote error: upload-pack: not our ref" err
|
test_i18ngrep "fatal: remote error: upload-pack: not our ref" err
|
||||||
'
|
'
|
||||||
@ -342,7 +343,7 @@ test_expect_success 'server is initially ahead - ref in want' '
|
|||||||
git -C "$REPO" config uploadpack.allowRefInWant true &&
|
git -C "$REPO" config uploadpack.allowRefInWant true &&
|
||||||
rm -rf local &&
|
rm -rf local &&
|
||||||
cp -r "$LOCAL_PRISTINE" local &&
|
cp -r "$LOCAL_PRISTINE" local &&
|
||||||
inconsistency master 1234567890123456789012345678901234567890 &&
|
inconsistency master $(test_oid numeric) &&
|
||||||
git -C local fetch &&
|
git -C local fetch &&
|
||||||
|
|
||||||
git -C "$REPO" rev-parse --verify master >expected &&
|
git -C "$REPO" rev-parse --verify master >expected &&
|
||||||
|
@ -104,13 +104,16 @@ test_expect_success 'rev-list can show index objects' '
|
|||||||
# - we do not show the root tree; since we updated the index, it
|
# - we do not show the root tree; since we updated the index, it
|
||||||
# does not have a valid cache tree
|
# does not have a valid cache tree
|
||||||
#
|
#
|
||||||
cat >expect <<-\EOF &&
|
|
||||||
8e4020bb5a8d8c873b25de15933e75cc0fc275df one
|
|
||||||
d9d3a7417b9605cfd88ee6306b28dadc29e6ab08 only-in-index
|
|
||||||
9200b628cf9dc883a85a7abc8d6e6730baee589c two
|
|
||||||
EOF
|
|
||||||
echo only-in-index >only-in-index &&
|
echo only-in-index >only-in-index &&
|
||||||
test_when_finished "git reset --hard" &&
|
test_when_finished "git reset --hard" &&
|
||||||
|
rev1=$(git rev-parse HEAD:one) &&
|
||||||
|
rev2=$(git rev-parse HEAD:two) &&
|
||||||
|
revi=$(git hash-object only-in-index) &&
|
||||||
|
cat >expect <<-EOF &&
|
||||||
|
$rev1 one
|
||||||
|
$revi only-in-index
|
||||||
|
$rev2 two
|
||||||
|
EOF
|
||||||
git add only-in-index &&
|
git add only-in-index &&
|
||||||
git rev-list --objects --indexed-objects >actual &&
|
git rev-list --objects --indexed-objects >actual &&
|
||||||
test_cmp expect actual
|
test_cmp expect actual
|
||||||
|
@ -32,6 +32,7 @@ changed_iso88591=$(echo "$changed" | iconv -f utf-8 -t $test_encoding)
|
|||||||
truncate_count=20
|
truncate_count=20
|
||||||
|
|
||||||
test_expect_success 'setup' '
|
test_expect_success 'setup' '
|
||||||
|
test_oid_init &&
|
||||||
: >foo &&
|
: >foo &&
|
||||||
git add foo &&
|
git add foo &&
|
||||||
git config i18n.commitEncoding $test_encoding &&
|
git config i18n.commitEncoding $test_encoding &&
|
||||||
@ -463,9 +464,10 @@ test_expect_success '--abbrev' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success '%H is not affected by --abbrev-commit' '
|
test_expect_success '%H is not affected by --abbrev-commit' '
|
||||||
|
expected=$(($(test_oid hexsz) + 1)) &&
|
||||||
git log -1 --format=%H --abbrev-commit --abbrev=20 HEAD >actual &&
|
git log -1 --format=%H --abbrev-commit --abbrev=20 HEAD >actual &&
|
||||||
len=$(wc -c <actual) &&
|
len=$(wc -c <actual) &&
|
||||||
test $len = 41
|
test $len = $expected
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success '%h is not affected by --abbrev-commit' '
|
test_expect_success '%h is not affected by --abbrev-commit' '
|
||||||
|
@ -57,7 +57,12 @@ test_expect_success 'setup tests' '
|
|||||||
git rev-parse C >.git/MERGE_HEAD &&
|
git rev-parse C >.git/MERGE_HEAD &&
|
||||||
echo F >a1 &&
|
echo F >a1 &&
|
||||||
git update-index a1 &&
|
git update-index a1 &&
|
||||||
GIT_AUTHOR_DATE="2006-12-12 23:00:08" git commit -m F
|
GIT_AUTHOR_DATE="2006-12-12 23:00:08" git commit -m F &&
|
||||||
|
|
||||||
|
test_oid_cache <<-EOF
|
||||||
|
idxstage1 sha1:ec3fe2a791706733f2d8fa7ad45d9a9672031f5e
|
||||||
|
idxstage1 sha256:b3c8488929903aaebdeb22270cb6d36e5b8724b01ae0d4da24632f158c99676f
|
||||||
|
EOF
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'combined merge conflicts' '
|
test_expect_success 'combined merge conflicts' '
|
||||||
@ -79,10 +84,10 @@ test_expect_success 'result contains a conflict' '
|
|||||||
test_expect_success 'virtual trees were processed' '
|
test_expect_success 'virtual trees were processed' '
|
||||||
git ls-files --stage >out &&
|
git ls-files --stage >out &&
|
||||||
|
|
||||||
cat >expect <<-\EOF &&
|
cat >expect <<-EOF &&
|
||||||
100644 ec3fe2a791706733f2d8fa7ad45d9a9672031f5e 1 a1
|
100644 $(test_oid idxstage1) 1 a1
|
||||||
100644 cf84443e49e1b366fac938711ddf4be2d4d1d9e9 2 a1
|
100644 $(git rev-parse F:a1) 2 a1
|
||||||
100644 fd7923529855d0b274795ae3349c5e0438333979 3 a1
|
100644 $(git rev-parse G:a1) 3 a1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
test_cmp expect out
|
test_cmp expect out
|
||||||
|
Loading…
Reference in New Issue
Block a user