Merge branch 'bc/hash-independent-tests-part-5'
Preparation for SHA-256 upgrade continues in the test department. * bc/hash-independent-tests-part-5: t4009: make hash size independent t4002: make hash independent t4000: make hash size independent t3903: abstract away SHA-1-specific constants t3800: make hash-size independent t3600: make hash size independent t3506: make hash independent t3430: avoid hard-coded object IDs t3404: abstract away SHA-1-specific constants t3306: abstract away SHA-1-specific constants t3305: make hash size independent t3301: abstract away SHA-1-specific constants t3206: abstract away hash size constants t3201: abstract away SHA-1-specific constants
This commit is contained in:
commit
0281733483
@ -192,10 +192,10 @@ test_expect_success 'branch --merged with --verbose' '
|
||||
EOF
|
||||
test_cmp expect actual &&
|
||||
git branch --verbose --merged topic >actual &&
|
||||
cat >expect <<-\EOF &&
|
||||
master c77a0a9 second on master
|
||||
* topic 2c939f4 [ahead 1] foo
|
||||
zzz c77a0a9 second on master
|
||||
cat >expect <<-EOF &&
|
||||
master $(git rev-parse --short master) second on master
|
||||
* topic $(git rev-parse --short topic ) [ahead 1] foo
|
||||
zzz $(git rev-parse --short zzz ) second on master
|
||||
EOF
|
||||
test_i18ncmp expect actual
|
||||
'
|
||||
|
@ -8,17 +8,124 @@ test_description='range-diff tests'
|
||||
# harm than good. We need some real history.
|
||||
|
||||
test_expect_success 'setup' '
|
||||
git fast-import < "$TEST_DIRECTORY"/t3206/history.export
|
||||
git fast-import < "$TEST_DIRECTORY"/t3206/history.export &&
|
||||
test_oid_cache <<-EOF
|
||||
# topic
|
||||
t1 sha1:4de457d
|
||||
t2 sha1:fccce22
|
||||
t3 sha1:147e64e
|
||||
t4 sha1:a63e992
|
||||
t1 sha256:b89f8b9
|
||||
t2 sha256:5f12aad
|
||||
t3 sha256:ea8b273
|
||||
t4 sha256:14b7336
|
||||
|
||||
# unmodified
|
||||
u1 sha1:35b9b25
|
||||
u2 sha1:de345ab
|
||||
u3 sha1:9af6654
|
||||
u4 sha1:2901f77
|
||||
u1 sha256:e3731be
|
||||
u2 sha256:14fadf8
|
||||
u3 sha256:736c4bc
|
||||
u4 sha256:673e77d
|
||||
|
||||
# reordered
|
||||
r1 sha1:aca177a
|
||||
r2 sha1:14ad629
|
||||
r3 sha1:ee58208
|
||||
r4 sha1:307b27a
|
||||
r1 sha256:f59d3aa
|
||||
r2 sha256:fb261a8
|
||||
r3 sha256:cb2649b
|
||||
r4 sha256:958577e
|
||||
|
||||
# removed (deleted)
|
||||
d1 sha1:7657159
|
||||
d2 sha1:43d84d3
|
||||
d3 sha1:a740396
|
||||
d1 sha256:e312513
|
||||
d2 sha256:eb19258
|
||||
d3 sha256:1ccb3c1
|
||||
|
||||
# added
|
||||
a1 sha1:2716022
|
||||
a2 sha1:b62accd
|
||||
a3 sha1:df46cfa
|
||||
a4 sha1:3e64548
|
||||
a5 sha1:12b4063
|
||||
a1 sha256:d724f4d
|
||||
a2 sha256:1de7762
|
||||
a3 sha256:e159431
|
||||
a4 sha256:b3e483c
|
||||
a5 sha256:90866a7
|
||||
|
||||
# rebased
|
||||
b1 sha1:cc9c443
|
||||
b2 sha1:c5d9641
|
||||
b3 sha1:28cc2b6
|
||||
b4 sha1:5628ab7
|
||||
b5 sha1:a31b12e
|
||||
b1 sha256:a1a8717
|
||||
b2 sha256:20a5862
|
||||
b3 sha256:587172a
|
||||
b4 sha256:2721c5d
|
||||
b5 sha256:7b57864
|
||||
|
||||
# changed
|
||||
c1 sha1:a4b3333
|
||||
c2 sha1:f51d370
|
||||
c3 sha1:0559556
|
||||
c4 sha1:d966c5c
|
||||
c1 sha256:f8c2b9d
|
||||
c2 sha256:3fb6318
|
||||
c3 sha256:168ab68
|
||||
c4 sha256:3526539
|
||||
|
||||
# changed-message
|
||||
m1 sha1:f686024
|
||||
m2 sha1:4ab067d
|
||||
m3 sha1:b9cb956
|
||||
m4 sha1:8add5f1
|
||||
m1 sha256:31e6281
|
||||
m2 sha256:a06bf1b
|
||||
m3 sha256:82dc654
|
||||
m4 sha256:48470c5
|
||||
|
||||
# renamed
|
||||
n1 sha1:f258d75
|
||||
n2 sha1:017b62d
|
||||
n3 sha1:3ce7af6
|
||||
n4 sha1:1e6226b
|
||||
n1 sha256:ad52114
|
||||
n2 sha256:3b54c8f
|
||||
n3 sha256:3b0a644
|
||||
n4 sha256:e461653
|
||||
|
||||
# added and removed
|
||||
s1 sha1:096b1ba
|
||||
s2 sha1:d92e698
|
||||
s3 sha1:9a1db4d
|
||||
s4 sha1:fea3b5c
|
||||
s1 sha256:a7f9134
|
||||
s2 sha256:b4c2580
|
||||
s3 sha256:1d62aa2
|
||||
s4 sha256:48160e8
|
||||
|
||||
# Empty delimiter (included so lines match neatly)
|
||||
__ sha1:-------
|
||||
__ sha256:-------
|
||||
EOF
|
||||
'
|
||||
|
||||
test_expect_success 'simple A..B A..C (unmodified)' '
|
||||
git range-diff --no-color master..topic master..unmodified \
|
||||
>actual &&
|
||||
cat >expected <<-EOF &&
|
||||
1: 4de457d = 1: 35b9b25 s/5/A/
|
||||
2: fccce22 = 2: de345ab s/4/A/
|
||||
3: 147e64e = 3: 9af6654 s/11/B/
|
||||
4: a63e992 = 4: 2901f77 s/12/B/
|
||||
1: $(test_oid t1) = 1: $(test_oid u1) s/5/A/
|
||||
2: $(test_oid t2) = 2: $(test_oid u2) s/4/A/
|
||||
3: $(test_oid t3) = 3: $(test_oid u3) s/11/B/
|
||||
4: $(test_oid t4) = 4: $(test_oid u4) s/12/B/
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
'
|
||||
@ -38,10 +145,10 @@ test_expect_success 'simple A B C (unmodified)' '
|
||||
test_expect_success 'trivial reordering' '
|
||||
git range-diff --no-color master topic reordered >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
1: 4de457d = 1: aca177a s/5/A/
|
||||
3: 147e64e = 2: 14ad629 s/11/B/
|
||||
4: a63e992 = 3: ee58208 s/12/B/
|
||||
2: fccce22 = 4: 307b27a s/4/A/
|
||||
1: $(test_oid t1) = 1: $(test_oid r1) s/5/A/
|
||||
3: $(test_oid t3) = 2: $(test_oid r2) s/11/B/
|
||||
4: $(test_oid t4) = 3: $(test_oid r3) s/12/B/
|
||||
2: $(test_oid t2) = 4: $(test_oid r4) s/4/A/
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
'
|
||||
@ -49,10 +156,10 @@ test_expect_success 'trivial reordering' '
|
||||
test_expect_success 'removed a commit' '
|
||||
git range-diff --no-color master topic removed >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
1: 4de457d = 1: 7657159 s/5/A/
|
||||
2: fccce22 < -: ------- s/4/A/
|
||||
3: 147e64e = 2: 43d84d3 s/11/B/
|
||||
4: a63e992 = 3: a740396 s/12/B/
|
||||
1: $(test_oid t1) = 1: $(test_oid d1) s/5/A/
|
||||
2: $(test_oid t2) < -: $(test_oid __) s/4/A/
|
||||
3: $(test_oid t3) = 2: $(test_oid d2) s/11/B/
|
||||
4: $(test_oid t4) = 3: $(test_oid d3) s/12/B/
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
'
|
||||
@ -60,11 +167,11 @@ test_expect_success 'removed a commit' '
|
||||
test_expect_success 'added a commit' '
|
||||
git range-diff --no-color master topic added >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
1: 4de457d = 1: 2716022 s/5/A/
|
||||
2: fccce22 = 2: b62accd s/4/A/
|
||||
-: ------- > 3: df46cfa s/6/A/
|
||||
3: 147e64e = 4: 3e64548 s/11/B/
|
||||
4: a63e992 = 5: 12b4063 s/12/B/
|
||||
1: $(test_oid t1) = 1: $(test_oid a1) s/5/A/
|
||||
2: $(test_oid t2) = 2: $(test_oid a2) s/4/A/
|
||||
-: $(test_oid __) > 3: $(test_oid a3) s/6/A/
|
||||
3: $(test_oid t3) = 4: $(test_oid a4) s/11/B/
|
||||
4: $(test_oid t4) = 5: $(test_oid a5) s/12/B/
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
'
|
||||
@ -72,10 +179,10 @@ test_expect_success 'added a commit' '
|
||||
test_expect_success 'new base, A B C' '
|
||||
git range-diff --no-color master topic rebased >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
1: 4de457d = 1: cc9c443 s/5/A/
|
||||
2: fccce22 = 2: c5d9641 s/4/A/
|
||||
3: 147e64e = 3: 28cc2b6 s/11/B/
|
||||
4: a63e992 = 4: 5628ab7 s/12/B/
|
||||
1: $(test_oid t1) = 1: $(test_oid b1) s/5/A/
|
||||
2: $(test_oid t2) = 2: $(test_oid b2) s/4/A/
|
||||
3: $(test_oid t3) = 3: $(test_oid b3) s/11/B/
|
||||
4: $(test_oid t4) = 4: $(test_oid b4) s/12/B/
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
'
|
||||
@ -84,11 +191,11 @@ test_expect_success 'new base, B...C' '
|
||||
# this syntax includes the commits from master!
|
||||
git range-diff --no-color topic...rebased >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
-: ------- > 1: a31b12e unrelated
|
||||
1: 4de457d = 2: cc9c443 s/5/A/
|
||||
2: fccce22 = 3: c5d9641 s/4/A/
|
||||
3: 147e64e = 4: 28cc2b6 s/11/B/
|
||||
4: a63e992 = 5: 5628ab7 s/12/B/
|
||||
-: $(test_oid __) > 1: $(test_oid b5) unrelated
|
||||
1: $(test_oid t1) = 2: $(test_oid b1) s/5/A/
|
||||
2: $(test_oid t2) = 3: $(test_oid b2) s/4/A/
|
||||
3: $(test_oid t3) = 4: $(test_oid b3) s/11/B/
|
||||
4: $(test_oid t4) = 5: $(test_oid b4) s/12/B/
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
'
|
||||
@ -96,9 +203,9 @@ test_expect_success 'new base, B...C' '
|
||||
test_expect_success 'changed commit' '
|
||||
git range-diff --no-color topic...changed >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
1: 4de457d = 1: a4b3333 s/5/A/
|
||||
2: fccce22 = 2: f51d370 s/4/A/
|
||||
3: 147e64e ! 3: 0559556 s/11/B/
|
||||
1: $(test_oid t1) = 1: $(test_oid c1) s/5/A/
|
||||
2: $(test_oid t2) = 2: $(test_oid c2) s/4/A/
|
||||
3: $(test_oid t3) ! 3: $(test_oid c3) s/11/B/
|
||||
@@ file: A
|
||||
9
|
||||
10
|
||||
@ -108,7 +215,7 @@ test_expect_success 'changed commit' '
|
||||
12
|
||||
13
|
||||
14
|
||||
4: a63e992 ! 4: d966c5c s/12/B/
|
||||
4: $(test_oid t4) ! 4: $(test_oid c4) s/12/B/
|
||||
@@ file
|
||||
@@ file: A
|
||||
9
|
||||
@ -125,10 +232,10 @@ test_expect_success 'changed commit' '
|
||||
test_expect_success 'changed commit with --no-patch diff option' '
|
||||
git range-diff --no-color --no-patch topic...changed >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
1: 4de457d = 1: a4b3333 s/5/A/
|
||||
2: fccce22 = 2: f51d370 s/4/A/
|
||||
3: 147e64e ! 3: 0559556 s/11/B/
|
||||
4: a63e992 ! 4: d966c5c s/12/B/
|
||||
1: $(test_oid t1) = 1: $(test_oid c1) s/5/A/
|
||||
2: $(test_oid t2) = 2: $(test_oid c2) s/4/A/
|
||||
3: $(test_oid t3) ! 3: $(test_oid c3) s/11/B/
|
||||
4: $(test_oid t4) ! 4: $(test_oid c4) s/12/B/
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
'
|
||||
@ -136,16 +243,16 @@ test_expect_success 'changed commit with --no-patch diff option' '
|
||||
test_expect_success 'changed commit with --stat diff option' '
|
||||
git range-diff --no-color --stat topic...changed >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
1: 4de457d = 1: a4b3333 s/5/A/
|
||||
1: $(test_oid t1) = 1: $(test_oid c1) s/5/A/
|
||||
a => b | 0
|
||||
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||
2: fccce22 = 2: f51d370 s/4/A/
|
||||
2: $(test_oid t2) = 2: $(test_oid c2) s/4/A/
|
||||
a => b | 0
|
||||
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||
3: 147e64e ! 3: 0559556 s/11/B/
|
||||
3: $(test_oid t3) ! 3: $(test_oid c3) s/11/B/
|
||||
a => b | 0
|
||||
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||
4: a63e992 ! 4: d966c5c s/12/B/
|
||||
4: $(test_oid t4) ! 4: $(test_oid c4) s/12/B/
|
||||
a => b | 0
|
||||
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||
EOF
|
||||
@ -155,9 +262,9 @@ test_expect_success 'changed commit with --stat diff option' '
|
||||
test_expect_success 'changed commit with sm config' '
|
||||
git range-diff --no-color --submodule=log topic...changed >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
1: 4de457d = 1: a4b3333 s/5/A/
|
||||
2: fccce22 = 2: f51d370 s/4/A/
|
||||
3: 147e64e ! 3: 0559556 s/11/B/
|
||||
1: $(test_oid t1) = 1: $(test_oid c1) s/5/A/
|
||||
2: $(test_oid t2) = 2: $(test_oid c2) s/4/A/
|
||||
3: $(test_oid t3) ! 3: $(test_oid c3) s/11/B/
|
||||
@@ file: A
|
||||
9
|
||||
10
|
||||
@ -167,7 +274,7 @@ test_expect_success 'changed commit with sm config' '
|
||||
12
|
||||
13
|
||||
14
|
||||
4: a63e992 ! 4: d966c5c s/12/B/
|
||||
4: $(test_oid t4) ! 4: $(test_oid c4) s/12/B/
|
||||
@@ file
|
||||
@@ file: A
|
||||
9
|
||||
@ -184,8 +291,8 @@ test_expect_success 'changed commit with sm config' '
|
||||
test_expect_success 'renamed file' '
|
||||
git range-diff --no-color --submodule=log topic...renamed-file >actual &&
|
||||
sed s/Z/\ /g >expected <<-EOF &&
|
||||
1: 4de457d = 1: f258d75 s/5/A/
|
||||
2: fccce22 ! 2: 017b62d s/4/A/
|
||||
1: $(test_oid t1) = 1: $(test_oid n1) s/5/A/
|
||||
2: $(test_oid t2) ! 2: $(test_oid n2) s/4/A/
|
||||
@@ Metadata
|
||||
ZAuthor: Thomas Rast <trast@inf.ethz.ch>
|
||||
Z
|
||||
@ -198,7 +305,7 @@ test_expect_success 'renamed file' '
|
||||
Z@@
|
||||
Z 1
|
||||
Z 2
|
||||
3: 147e64e ! 3: 3ce7af6 s/11/B/
|
||||
3: $(test_oid t3) ! 3: $(test_oid n3) s/11/B/
|
||||
@@ Metadata
|
||||
Z ## Commit message ##
|
||||
Z s/11/B/
|
||||
@ -210,7 +317,7 @@ test_expect_success 'renamed file' '
|
||||
Z 8
|
||||
Z 9
|
||||
Z 10
|
||||
4: a63e992 ! 4: 1e6226b s/12/B/
|
||||
4: $(test_oid t4) ! 4: $(test_oid n4) s/12/B/
|
||||
@@ Metadata
|
||||
Z ## Commit message ##
|
||||
Z s/12/B/
|
||||
@ -229,8 +336,8 @@ test_expect_success 'renamed file' '
|
||||
test_expect_success 'file added and later removed' '
|
||||
git range-diff --no-color --submodule=log topic...added-removed >actual &&
|
||||
sed s/Z/\ /g >expected <<-EOF &&
|
||||
1: 4de457d = 1: 096b1ba s/5/A/
|
||||
2: fccce22 ! 2: d92e698 s/4/A/
|
||||
1: $(test_oid t1) = 1: $(test_oid s1) s/5/A/
|
||||
2: $(test_oid t2) ! 2: $(test_oid s2) s/4/A/
|
||||
@@ Metadata
|
||||
ZAuthor: Thomas Rast <trast@inf.ethz.ch>
|
||||
Z
|
||||
@ -246,7 +353,7 @@ test_expect_success 'file added and later removed' '
|
||||
Z 7
|
||||
+
|
||||
+ ## new-file (new) ##
|
||||
3: 147e64e ! 3: 9a1db4d s/11/B/
|
||||
3: $(test_oid t3) ! 3: $(test_oid s3) s/11/B/
|
||||
@@ Metadata
|
||||
ZAuthor: Thomas Rast <trast@inf.ethz.ch>
|
||||
Z
|
||||
@ -262,7 +369,7 @@ test_expect_success 'file added and later removed' '
|
||||
Z 14
|
||||
+
|
||||
+ ## new-file (deleted) ##
|
||||
4: a63e992 = 4: fea3b5c s/12/B/
|
||||
4: $(test_oid t4) = 4: $(test_oid s4) s/12/B/
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
'
|
||||
@ -275,8 +382,8 @@ test_expect_success 'no commits on one side' '
|
||||
test_expect_success 'changed message' '
|
||||
git range-diff --no-color topic...changed-message >actual &&
|
||||
sed s/Z/\ /g >expected <<-EOF &&
|
||||
1: 4de457d = 1: f686024 s/5/A/
|
||||
2: fccce22 ! 2: 4ab067d s/4/A/
|
||||
1: $(test_oid t1) = 1: $(test_oid m1) s/5/A/
|
||||
2: $(test_oid t2) ! 2: $(test_oid m2) s/4/A/
|
||||
@@ Metadata
|
||||
Z ## Commit message ##
|
||||
Z s/4/A/
|
||||
@ -286,16 +393,16 @@ test_expect_success 'changed message' '
|
||||
Z ## file ##
|
||||
Z@@
|
||||
Z 1
|
||||
3: 147e64e = 3: b9cb956 s/11/B/
|
||||
4: a63e992 = 4: 8add5f1 s/12/B/
|
||||
3: $(test_oid t3) = 3: $(test_oid m3) s/11/B/
|
||||
4: $(test_oid t4) = 4: $(test_oid m4) s/12/B/
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'dual-coloring' '
|
||||
sed -e "s|^:||" >expect <<-\EOF &&
|
||||
:<YELLOW>1: a4b3333 = 1: f686024 s/5/A/<RESET>
|
||||
:<RED>2: f51d370 <RESET><YELLOW>!<RESET><GREEN> 2: 4ab067d<RESET><YELLOW> s/4/A/<RESET>
|
||||
sed -e "s|^:||" >expect <<-EOF &&
|
||||
:<YELLOW>1: $(test_oid c1) = 1: $(test_oid m1) s/5/A/<RESET>
|
||||
:<RED>2: $(test_oid c2) <RESET><YELLOW>!<RESET><GREEN> 2: $(test_oid m2)<RESET><YELLOW> s/4/A/<RESET>
|
||||
: <REVERSE><CYAN>@@<RESET> <RESET>Metadata<RESET>
|
||||
: ## Commit message ##<RESET>
|
||||
: s/4/A/<RESET>
|
||||
@ -305,7 +412,7 @@ test_expect_success 'dual-coloring' '
|
||||
: ## file ##<RESET>
|
||||
: <CYAN> @@<RESET>
|
||||
: 1<RESET>
|
||||
:<RED>3: 0559556 <RESET><YELLOW>!<RESET><GREEN> 3: b9cb956<RESET><YELLOW> s/11/B/<RESET>
|
||||
:<RED>3: $(test_oid c3) <RESET><YELLOW>!<RESET><GREEN> 3: $(test_oid m3)<RESET><YELLOW> s/11/B/<RESET>
|
||||
: <REVERSE><CYAN>@@<RESET> <RESET>file: A<RESET>
|
||||
: 9<RESET>
|
||||
: 10<RESET>
|
||||
@ -315,7 +422,7 @@ test_expect_success 'dual-coloring' '
|
||||
: 12<RESET>
|
||||
: 13<RESET>
|
||||
: 14<RESET>
|
||||
:<RED>4: d966c5c <RESET><YELLOW>!<RESET><GREEN> 4: 8add5f1<RESET><YELLOW> s/12/B/<RESET>
|
||||
:<RED>4: $(test_oid c4) <RESET><YELLOW>!<RESET><GREEN> 4: $(test_oid m4)<RESET><YELLOW> s/12/B/<RESET>
|
||||
: <REVERSE><CYAN>@@<RESET> <RESET>file<RESET>
|
||||
: <CYAN> @@ file: A<RESET>
|
||||
: 9<RESET>
|
||||
|
140
t/t3301-notes.sh
140
t/t3301-notes.sh
@ -66,8 +66,9 @@ test_expect_success 'show notes entry with %N' '
|
||||
'
|
||||
|
||||
test_expect_success 'create reflog entry' '
|
||||
ref=$(git rev-parse --short refs/notes/commits) &&
|
||||
cat <<-EOF >expect &&
|
||||
a1d8fa6 refs/notes/commits@{0}: notes: Notes added by '\''git notes add'\''
|
||||
$ref refs/notes/commits@{0}: notes: Notes added by '\''git notes add'\''
|
||||
EOF
|
||||
git reflog show refs/notes/commits >actual &&
|
||||
test_cmp expect actual
|
||||
@ -134,8 +135,9 @@ test_expect_success 'can overwrite existing note with "git notes add -f"' '
|
||||
'
|
||||
|
||||
test_expect_success 'show notes' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit 7a4ca6ee52a974a66cbaa78e33214535dff1d691
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:14:13 2005 -0700
|
||||
|
||||
@ -152,8 +154,9 @@ test_expect_success 'show notes' '
|
||||
test_expect_success 'show multi-line notes' '
|
||||
test_commit 3rd &&
|
||||
MSG="b3${LF}c3c3c3c3${LF}d3d3d3" git notes add &&
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect-multiline <<-EOF &&
|
||||
commit d07d62e5208f22eb5695e7eb47667dc8b9860290
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:15:13 2005 -0700
|
||||
|
||||
@ -174,8 +177,9 @@ test_expect_success 'show -F notes' '
|
||||
test_commit 4th &&
|
||||
echo "xyzzy" >note5 &&
|
||||
git notes add -F note5 &&
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect-F <<-EOF &&
|
||||
commit 0f7aa3ec6325aeb88b910453bb3eb37c49d75c11
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:16:13 2005 -0700
|
||||
|
||||
@ -198,10 +202,13 @@ test_expect_success 'Re-adding -F notes without -f fails' '
|
||||
'
|
||||
|
||||
test_expect_success 'git log --pretty=raw does not show notes' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
tree=$(git rev-parse HEAD^{tree}) &&
|
||||
parent=$(git rev-parse HEAD^) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit 0f7aa3ec6325aeb88b910453bb3eb37c49d75c11
|
||||
tree 05ac65288c4c4b3b709a020ae94b2ece2f2201ae
|
||||
parent d07d62e5208f22eb5695e7eb47667dc8b9860290
|
||||
commit $commit
|
||||
tree $tree
|
||||
parent $parent
|
||||
author A U Thor <author@example.com> 1112912173 -0700
|
||||
committer C O Mitter <committer@example.com> 1112912173 -0700
|
||||
|
||||
@ -291,8 +298,9 @@ test_expect_success 'git log --no-notes resets ref list' '
|
||||
test_expect_success 'show -m notes' '
|
||||
test_commit 5th &&
|
||||
git notes add -m spam -m "foo${LF}bar${LF}baz" &&
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect-m <<-EOF &&
|
||||
commit 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:17:13 2005 -0700
|
||||
|
||||
@ -313,8 +321,9 @@ test_expect_success 'show -m notes' '
|
||||
|
||||
test_expect_success 'remove note with add -f -F /dev/null' '
|
||||
git notes add -f -F /dev/null &&
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect-rm-F <<-EOF &&
|
||||
commit 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:17:13 2005 -0700
|
||||
|
||||
@ -356,14 +365,16 @@ test_expect_success 'create note with combination of -m and -F' '
|
||||
test_expect_success 'remove note with "git notes remove"' '
|
||||
git notes remove HEAD^ &&
|
||||
git notes remove &&
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
parent=$(git rev-parse HEAD^) &&
|
||||
cat >expect-rm-remove <<-EOF &&
|
||||
commit 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:17:13 2005 -0700
|
||||
|
||||
${indent}5th
|
||||
|
||||
commit 0f7aa3ec6325aeb88b910453bb3eb37c49d75c11
|
||||
commit $parent
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:16:13 2005 -0700
|
||||
|
||||
@ -459,9 +470,11 @@ test_expect_success 'removing with --stdin --ignore-missing' '
|
||||
'
|
||||
|
||||
test_expect_success 'list notes with "git notes list"' '
|
||||
cat >expect <<-EOF &&
|
||||
c9c6af7f78bc47490dbf3e822cf2f3c24d4b9061 7a4ca6ee52a974a66cbaa78e33214535dff1d691
|
||||
c18dc024e14f08d18d14eea0d747ff692d66d6a3 d07d62e5208f22eb5695e7eb47667dc8b9860290
|
||||
commit_2=$(git rev-parse 2nd) &&
|
||||
commit_3=$(git rev-parse 3rd) &&
|
||||
sort -t" " -k2 >expect <<-EOF &&
|
||||
$(git rev-parse refs/notes/commits:$commit_2) $commit_2
|
||||
$(git rev-parse refs/notes/commits:$commit_3) $commit_3
|
||||
EOF
|
||||
git notes list >actual &&
|
||||
test_cmp expect actual
|
||||
@ -474,7 +487,7 @@ test_expect_success 'list notes with "git notes"' '
|
||||
|
||||
test_expect_success 'list specific note with "git notes list <object>"' '
|
||||
cat >expect <<-EOF &&
|
||||
c18dc024e14f08d18d14eea0d747ff692d66d6a3
|
||||
$(git rev-parse refs/notes/commits:$commit_3)
|
||||
EOF
|
||||
git notes list HEAD^^ >actual &&
|
||||
test_cmp expect actual
|
||||
@ -498,10 +511,11 @@ test_expect_success 'append to existing note with "git notes append"' '
|
||||
'
|
||||
|
||||
test_expect_success '"git notes list" does not expand to "git notes list HEAD"' '
|
||||
cat >expect_list <<-EOF &&
|
||||
c9c6af7f78bc47490dbf3e822cf2f3c24d4b9061 7a4ca6ee52a974a66cbaa78e33214535dff1d691
|
||||
4b6ad22357cc8a1296720574b8d2fbc22fab0671 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
|
||||
c18dc024e14f08d18d14eea0d747ff692d66d6a3 d07d62e5208f22eb5695e7eb47667dc8b9860290
|
||||
commit_5=$(git rev-parse 5th) &&
|
||||
sort -t" " -k2 >expect_list <<-EOF &&
|
||||
$(git rev-parse refs/notes/commits:$commit_2) $commit_2
|
||||
$(git rev-parse refs/notes/commits:$commit_3) $commit_3
|
||||
$(git rev-parse refs/notes/commits:$commit_5) $commit_5
|
||||
EOF
|
||||
git notes list >actual &&
|
||||
test_cmp expect_list actual
|
||||
@ -531,8 +545,9 @@ test_expect_success 'appending empty string to non-existing note does not create
|
||||
test_expect_success 'create other note on a different notes ref (setup)' '
|
||||
test_commit 6th &&
|
||||
GIT_NOTES_REF="refs/notes/other" git notes add -m "other note" &&
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect-not-other <<-EOF &&
|
||||
commit 2c125331118caba0ff8238b7f4958ac6e93fe39c
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:18:13 2005 -0700
|
||||
|
||||
@ -569,8 +584,10 @@ test_expect_success 'Do not show note when core.notesRef is overridden' '
|
||||
'
|
||||
|
||||
test_expect_success 'Show all notes when notes.displayRef=refs/notes/*' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
parent=$(git rev-parse HEAD^) &&
|
||||
cat >expect-both <<-EOF &&
|
||||
commit 2c125331118caba0ff8238b7f4958ac6e93fe39c
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:18:13 2005 -0700
|
||||
|
||||
@ -582,7 +599,7 @@ test_expect_success 'Show all notes when notes.displayRef=refs/notes/*' '
|
||||
Notes (other):
|
||||
${indent}other note
|
||||
|
||||
commit 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
|
||||
commit $parent
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:17:13 2005 -0700
|
||||
|
||||
@ -616,8 +633,9 @@ test_expect_success 'notes.displayRef can be given more than once' '
|
||||
'
|
||||
|
||||
test_expect_success 'notes.displayRef respects order' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect-both-reversed <<-EOF &&
|
||||
commit 2c125331118caba0ff8238b7f4958ac6e93fe39c
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:18:13 2005 -0700
|
||||
|
||||
@ -642,14 +660,16 @@ test_expect_success 'GIT_NOTES_DISPLAY_REF works' '
|
||||
'
|
||||
|
||||
test_expect_success 'GIT_NOTES_DISPLAY_REF overrides config' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
parent=$(git rev-parse HEAD^) &&
|
||||
cat >expect-none <<-EOF &&
|
||||
commit 2c125331118caba0ff8238b7f4958ac6e93fe39c
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:18:13 2005 -0700
|
||||
|
||||
${indent}6th
|
||||
|
||||
commit 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
|
||||
commit $parent
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:17:13 2005 -0700
|
||||
|
||||
@ -666,8 +686,9 @@ test_expect_success '--show-notes=* adds to GIT_NOTES_DISPLAY_REF' '
|
||||
'
|
||||
|
||||
test_expect_success '--no-standard-notes' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect-commits <<-EOF &&
|
||||
commit 2c125331118caba0ff8238b7f4958ac6e93fe39c
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:18:13 2005 -0700
|
||||
|
||||
@ -712,8 +733,10 @@ test_expect_success 'Allow notes on non-commits (trees, blobs, tags)' '
|
||||
'
|
||||
|
||||
test_expect_success 'create note from other note with "git notes add -C"' '
|
||||
test_commit 7th &&
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit fb01e0ca8c33b6cc0c6451dde747f97df567cb5c
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:19:13 2005 -0700
|
||||
|
||||
@ -722,7 +745,6 @@ test_expect_success 'create note from other note with "git notes add -C"' '
|
||||
Notes:
|
||||
${indent}order test
|
||||
EOF
|
||||
test_commit 7th &&
|
||||
git notes add -C $(git notes list HEAD^) &&
|
||||
git log -1 >actual &&
|
||||
test_cmp expect actual &&
|
||||
@ -744,8 +766,9 @@ test_expect_success 'create note from non-blob with "git notes add -C" fails' '
|
||||
'
|
||||
|
||||
test_expect_success 'create note from blob with "git notes add -C" reuses blob id' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit 9a4c31c7f722b5d517e92c64e932dd751e1413bf
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:20:13 2005 -0700
|
||||
|
||||
@ -762,8 +785,10 @@ test_expect_success 'create note from blob with "git notes add -C" reuses blob i
|
||||
'
|
||||
|
||||
test_expect_success 'create note from other note with "git notes add -c"' '
|
||||
test_commit 9th &&
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit 2e0db4bc649e174d667a1cde19e725cf897a5bd2
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:21:13 2005 -0700
|
||||
|
||||
@ -772,7 +797,6 @@ test_expect_success 'create note from other note with "git notes add -c"' '
|
||||
Notes:
|
||||
${indent}yet another note
|
||||
EOF
|
||||
test_commit 9th &&
|
||||
MSG="yet another note" git notes add -c $(git notes list HEAD^^) &&
|
||||
git log -1 >actual &&
|
||||
test_cmp expect actual
|
||||
@ -785,8 +809,9 @@ test_expect_success 'create note from non-existing note with "git notes add -c"
|
||||
'
|
||||
|
||||
test_expect_success 'append to note from other note with "git notes append -C"' '
|
||||
commit=$(git rev-parse HEAD^) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit 2e0db4bc649e174d667a1cde19e725cf897a5bd2
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:21:13 2005 -0700
|
||||
|
||||
@ -803,8 +828,9 @@ test_expect_success 'append to note from other note with "git notes append -C"'
|
||||
'
|
||||
|
||||
test_expect_success 'create note from other note with "git notes append -c"' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit 7c3b87ab368f81e11b1ea87b2ab99a71ccd25406
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:22:13 2005 -0700
|
||||
|
||||
@ -819,8 +845,9 @@ test_expect_success 'create note from other note with "git notes append -c"' '
|
||||
'
|
||||
|
||||
test_expect_success 'append to note from other note with "git notes append -c"' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit 7c3b87ab368f81e11b1ea87b2ab99a71ccd25406
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:22:13 2005 -0700
|
||||
|
||||
@ -837,8 +864,10 @@ test_expect_success 'append to note from other note with "git notes append -c"'
|
||||
'
|
||||
|
||||
test_expect_success 'copy note with "git notes copy"' '
|
||||
test_commit 11th &&
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit a446fff8777efdc6eb8f4b7c8a5ff699484df0d5
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:23:13 2005 -0700
|
||||
|
||||
@ -849,7 +878,6 @@ test_expect_success 'copy note with "git notes copy"' '
|
||||
${indent}
|
||||
${indent}yet another note
|
||||
EOF
|
||||
test_commit 11th &&
|
||||
git notes copy HEAD^ HEAD &&
|
||||
git log -1 >actual &&
|
||||
test_cmp expect actual &&
|
||||
@ -864,8 +892,9 @@ test_expect_success 'prevent overwrite with "git notes copy"' '
|
||||
'
|
||||
|
||||
test_expect_success 'allow overwrite with "git notes copy -f"' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit a446fff8777efdc6eb8f4b7c8a5ff699484df0d5
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:23:13 2005 -0700
|
||||
|
||||
@ -889,8 +918,10 @@ test_expect_success 'cannot copy note from object without notes' '
|
||||
'
|
||||
|
||||
test_expect_success 'git notes copy --stdin' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
parent=$(git rev-parse HEAD^) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit e871aa61182b1d95d0a6fb75445d891722863b6b
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:25:13 2005 -0700
|
||||
|
||||
@ -901,7 +932,7 @@ test_expect_success 'git notes copy --stdin' '
|
||||
${indent}
|
||||
${indent}yet another note
|
||||
|
||||
commit 65e263ded02ae4e8839bc151095113737579dc12
|
||||
commit $parent
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:24:13 2005 -0700
|
||||
|
||||
@ -922,21 +953,23 @@ test_expect_success 'git notes copy --stdin' '
|
||||
'
|
||||
|
||||
test_expect_success 'git notes copy --for-rewrite (unconfigured)' '
|
||||
test_commit 14th &&
|
||||
test_commit 15th &&
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
parent=$(git rev-parse HEAD^) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit 4acf42e847e7fffbbf89ee365c20ac7caf40de89
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:27:13 2005 -0700
|
||||
|
||||
${indent}15th
|
||||
|
||||
commit 07c85d77059393ed0154b8c96906547a59dfcddd
|
||||
commit $parent
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:26:13 2005 -0700
|
||||
|
||||
${indent}14th
|
||||
EOF
|
||||
test_commit 14th &&
|
||||
test_commit 15th &&
|
||||
(echo $(git rev-parse HEAD~3) $(git rev-parse HEAD^) &&
|
||||
echo $(git rev-parse HEAD~2) $(git rev-parse HEAD)) |
|
||||
git notes copy --for-rewrite=foo &&
|
||||
@ -945,8 +978,10 @@ test_expect_success 'git notes copy --for-rewrite (unconfigured)' '
|
||||
'
|
||||
|
||||
test_expect_success 'git notes copy --for-rewrite (enabled)' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
parent=$(git rev-parse HEAD^) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit 4acf42e847e7fffbbf89ee365c20ac7caf40de89
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:27:13 2005 -0700
|
||||
|
||||
@ -957,7 +992,7 @@ test_expect_success 'git notes copy --for-rewrite (enabled)' '
|
||||
${indent}
|
||||
${indent}yet another note
|
||||
|
||||
commit 07c85d77059393ed0154b8c96906547a59dfcddd
|
||||
commit $parent
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:26:13 2005 -0700
|
||||
|
||||
@ -986,8 +1021,9 @@ test_expect_success 'git notes copy --for-rewrite (disabled)' '
|
||||
'
|
||||
|
||||
test_expect_success 'git notes copy --for-rewrite (overwrite)' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit 4acf42e847e7fffbbf89ee365c20ac7caf40de89
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:27:13 2005 -0700
|
||||
|
||||
@ -1015,8 +1051,9 @@ test_expect_success 'git notes copy --for-rewrite (ignore)' '
|
||||
'
|
||||
|
||||
test_expect_success 'git notes copy --for-rewrite (append)' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit 4acf42e847e7fffbbf89ee365c20ac7caf40de89
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:27:13 2005 -0700
|
||||
|
||||
@ -1037,8 +1074,9 @@ test_expect_success 'git notes copy --for-rewrite (append)' '
|
||||
'
|
||||
|
||||
test_expect_success 'git notes copy --for-rewrite (append two to one)' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit 4acf42e847e7fffbbf89ee365c20ac7caf40de89
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:27:13 2005 -0700
|
||||
|
||||
@ -1075,8 +1113,9 @@ test_expect_success 'git notes copy --for-rewrite (append empty)' '
|
||||
'
|
||||
|
||||
test_expect_success 'GIT_NOTES_REWRITE_MODE works' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit 4acf42e847e7fffbbf89ee365c20ac7caf40de89
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:27:13 2005 -0700
|
||||
|
||||
@ -1095,8 +1134,9 @@ test_expect_success 'GIT_NOTES_REWRITE_MODE works' '
|
||||
'
|
||||
|
||||
test_expect_success 'GIT_NOTES_REWRITE_REF works' '
|
||||
commit=$(git rev-parse HEAD) &&
|
||||
cat >expect <<-EOF &&
|
||||
commit 4acf42e847e7fffbbf89ee365c20ac7caf40de89
|
||||
commit $commit
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:27:13 2005 -0700
|
||||
|
||||
|
@ -35,15 +35,10 @@ test_expect_success 'many notes created with git-notes triggers fanout' '
|
||||
git ls-tree -r --name-only refs/notes/commits |
|
||||
while read path
|
||||
do
|
||||
case "$path" in
|
||||
??/??????????????????????????????????????)
|
||||
: true
|
||||
;;
|
||||
*)
|
||||
echo $path | grep "^../[0-9a-f]*$" || {
|
||||
echo "Invalid path \"$path\"" &&
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
return 1;
|
||||
}
|
||||
done
|
||||
'
|
||||
|
||||
@ -77,15 +72,10 @@ test_expect_success 'deleting most notes triggers fanout consolidation' '
|
||||
git ls-tree -r --name-only refs/notes/commits |
|
||||
while read path
|
||||
do
|
||||
case "$path" in
|
||||
????????????????????????????????????????)
|
||||
: true
|
||||
;;
|
||||
*)
|
||||
echo $path | grep -v "^../.*" || {
|
||||
echo "Invalid path \"$path\"" &&
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
return 1;
|
||||
}
|
||||
done
|
||||
'
|
||||
|
||||
|
@ -11,23 +11,26 @@ test_expect_success 'setup: create a few commits with notes' '
|
||||
test_tick &&
|
||||
git commit -m 1st &&
|
||||
git notes add -m "Note #1" &&
|
||||
first=$(git rev-parse HEAD) &&
|
||||
: > file2 &&
|
||||
git add file2 &&
|
||||
test_tick &&
|
||||
git commit -m 2nd &&
|
||||
git notes add -m "Note #2" &&
|
||||
second=$(git rev-parse HEAD) &&
|
||||
: > file3 &&
|
||||
git add file3 &&
|
||||
test_tick &&
|
||||
git commit -m 3rd &&
|
||||
COMMIT_FILE=.git/objects/5e/e1c35e83ea47cd3cc4f8cbee0568915fbbbd29 &&
|
||||
third=$(git rev-parse HEAD) &&
|
||||
COMMIT_FILE=$(echo $third | sed "s!^..!.git/objects/&/!") &&
|
||||
test -f $COMMIT_FILE &&
|
||||
test-tool chmtime =+0 $COMMIT_FILE &&
|
||||
git notes add -m "Note #3"
|
||||
'
|
||||
|
||||
cat > expect <<END_OF_LOG
|
||||
commit 5ee1c35e83ea47cd3cc4f8cbee0568915fbbbd29
|
||||
commit $third
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:15:13 2005 -0700
|
||||
|
||||
@ -36,7 +39,7 @@ Date: Thu Apr 7 15:15:13 2005 -0700
|
||||
Notes:
|
||||
Note #3
|
||||
|
||||
commit 08341ad9e94faa089d60fd3f523affb25c6da189
|
||||
commit $second
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:14:13 2005 -0700
|
||||
|
||||
@ -45,7 +48,7 @@ Date: Thu Apr 7 15:14:13 2005 -0700
|
||||
Notes:
|
||||
Note #2
|
||||
|
||||
commit ab5f302035f2e7aaf04265f08b42034c23256e1f
|
||||
commit $first
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Thu Apr 7 15:13:13 2005 -0700
|
||||
|
||||
@ -70,16 +73,16 @@ test_expect_success 'remove some commits' '
|
||||
|
||||
test_expect_success 'verify that commits are gone' '
|
||||
|
||||
test_must_fail git cat-file -p 5ee1c35e83ea47cd3cc4f8cbee0568915fbbbd29 &&
|
||||
git cat-file -p 08341ad9e94faa089d60fd3f523affb25c6da189 &&
|
||||
git cat-file -p ab5f302035f2e7aaf04265f08b42034c23256e1f
|
||||
test_must_fail git cat-file -p $third &&
|
||||
git cat-file -p $second &&
|
||||
git cat-file -p $first
|
||||
'
|
||||
|
||||
test_expect_success 'verify that notes are still present' '
|
||||
|
||||
git notes show 5ee1c35e83ea47cd3cc4f8cbee0568915fbbbd29 &&
|
||||
git notes show 08341ad9e94faa089d60fd3f523affb25c6da189 &&
|
||||
git notes show ab5f302035f2e7aaf04265f08b42034c23256e1f
|
||||
git notes show $third &&
|
||||
git notes show $second &&
|
||||
git notes show $first
|
||||
'
|
||||
|
||||
test_expect_success 'prune -n does not remove notes' '
|
||||
@ -90,13 +93,10 @@ test_expect_success 'prune -n does not remove notes' '
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat > expect <<EOF
|
||||
5ee1c35e83ea47cd3cc4f8cbee0568915fbbbd29
|
||||
EOF
|
||||
|
||||
test_expect_success 'prune -n lists prunable notes' '
|
||||
|
||||
|
||||
echo $third >expect &&
|
||||
git notes prune -n > actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
@ -109,9 +109,9 @@ test_expect_success 'prune notes' '
|
||||
|
||||
test_expect_success 'verify that notes are gone' '
|
||||
|
||||
test_must_fail git notes show 5ee1c35e83ea47cd3cc4f8cbee0568915fbbbd29 &&
|
||||
git notes show 08341ad9e94faa089d60fd3f523affb25c6da189 &&
|
||||
git notes show ab5f302035f2e7aaf04265f08b42034c23256e1f
|
||||
test_must_fail git notes show $third &&
|
||||
git notes show $second &&
|
||||
git notes show $first
|
||||
'
|
||||
|
||||
test_expect_success 'remove some commits' '
|
||||
@ -121,21 +121,18 @@ test_expect_success 'remove some commits' '
|
||||
git gc --prune=now
|
||||
'
|
||||
|
||||
cat > expect <<EOF
|
||||
08341ad9e94faa089d60fd3f523affb25c6da189
|
||||
EOF
|
||||
|
||||
test_expect_success 'prune -v notes' '
|
||||
|
||||
echo $second >expect &&
|
||||
git notes prune -v > actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success 'verify that notes are gone' '
|
||||
|
||||
test_must_fail git notes show 5ee1c35e83ea47cd3cc4f8cbee0568915fbbbd29 &&
|
||||
test_must_fail git notes show 08341ad9e94faa089d60fd3f523affb25c6da189 &&
|
||||
git notes show ab5f302035f2e7aaf04265f08b42034c23256e1f
|
||||
test_must_fail git notes show $third &&
|
||||
test_must_fail git notes show $second &&
|
||||
git notes show $first
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -29,9 +29,6 @@ Initial setup:
|
||||
|
||||
. "$TEST_DIRECTORY"/lib-rebase.sh
|
||||
|
||||
# WARNING: Modifications to the initial repository can change the SHA ID used
|
||||
# in the expect2 file for the 'stop on conflicting pick' test.
|
||||
|
||||
test_expect_success 'setup' '
|
||||
test_commit A file1 &&
|
||||
test_commit B file1 &&
|
||||
@ -231,25 +228,28 @@ test_expect_success 'exchange two commits' '
|
||||
set_fake_editor &&
|
||||
FAKE_LINES="2 1" git rebase -i HEAD~2 &&
|
||||
test H = $(git cat-file commit HEAD^ | sed -ne \$p) &&
|
||||
test G = $(git cat-file commit HEAD | sed -ne \$p)
|
||||
test G = $(git cat-file commit HEAD | sed -ne \$p) &&
|
||||
blob1=$(git rev-parse --short HEAD^:file1) &&
|
||||
blob2=$(git rev-parse --short HEAD:file1) &&
|
||||
commit=$(git rev-parse --short HEAD)
|
||||
'
|
||||
|
||||
test_expect_success 'stop on conflicting pick' '
|
||||
cat >expect <<-\EOF &&
|
||||
cat >expect <<-EOF &&
|
||||
diff --git a/file1 b/file1
|
||||
index f70f10e..fd79235 100644
|
||||
index $blob1..$blob2 100644
|
||||
--- a/file1
|
||||
+++ b/file1
|
||||
@@ -1 +1 @@
|
||||
-A
|
||||
+G
|
||||
EOF
|
||||
cat >expect2 <<-\EOF &&
|
||||
cat >expect2 <<-EOF &&
|
||||
<<<<<<< HEAD
|
||||
D
|
||||
=======
|
||||
G
|
||||
>>>>>>> 5d18e54... G
|
||||
>>>>>>> $commit... G
|
||||
EOF
|
||||
git tag new-branch1 &&
|
||||
set_fake_editor &&
|
||||
@ -1001,7 +1001,7 @@ test_expect_success 'rebase -i --root temporary sentinel commit' '
|
||||
git checkout B &&
|
||||
set_fake_editor &&
|
||||
test_must_fail env FAKE_LINES="2" git rebase -i --root &&
|
||||
git cat-file commit HEAD | grep "^tree 4b825dc642cb" &&
|
||||
git cat-file commit HEAD | grep "^tree $EMPTY_TREE" &&
|
||||
git rebase --abort
|
||||
'
|
||||
|
||||
@ -1159,7 +1159,7 @@ test_expect_success 'rebase -i error on commits with \ in message' '
|
||||
test_expect_code 1 grep " emp" error
|
||||
'
|
||||
|
||||
test_expect_success 'short SHA-1 setup' '
|
||||
test_expect_success SHA1 'short SHA-1 setup' '
|
||||
test_when_finished "git checkout master" &&
|
||||
git checkout --orphan collide &&
|
||||
git rm -rf . &&
|
||||
@ -1171,7 +1171,7 @@ test_expect_success 'short SHA-1 setup' '
|
||||
)
|
||||
'
|
||||
|
||||
test_expect_success 'short SHA-1 collide' '
|
||||
test_expect_success SHA1 'short SHA-1 collide' '
|
||||
test_when_finished "reset_rebase && git checkout master" &&
|
||||
git checkout collide &&
|
||||
(
|
||||
|
@ -37,20 +37,27 @@ test_expect_success 'setup' '
|
||||
test_commit A &&
|
||||
git checkout -b first &&
|
||||
test_commit B &&
|
||||
b=$(git rev-parse --short HEAD) &&
|
||||
git checkout master &&
|
||||
test_commit C &&
|
||||
c=$(git rev-parse --short HEAD) &&
|
||||
test_commit D &&
|
||||
d=$(git rev-parse --short HEAD) &&
|
||||
git merge --no-commit B &&
|
||||
test_tick &&
|
||||
git commit -m E &&
|
||||
git tag -m E E &&
|
||||
e=$(git rev-parse --short HEAD) &&
|
||||
git checkout -b second C &&
|
||||
test_commit F &&
|
||||
f=$(git rev-parse --short HEAD) &&
|
||||
test_commit G &&
|
||||
g=$(git rev-parse --short HEAD) &&
|
||||
git checkout master &&
|
||||
git merge --no-commit G &&
|
||||
test_tick &&
|
||||
git commit -m H &&
|
||||
h=$(git rev-parse --short HEAD) &&
|
||||
git tag -m H H &&
|
||||
git checkout A &&
|
||||
test_commit conflicting-G G.t
|
||||
@ -93,24 +100,24 @@ test_expect_success 'create completely different structure' '
|
||||
'
|
||||
|
||||
test_expect_success 'generate correct todo list' '
|
||||
cat >expect <<-\EOF &&
|
||||
cat >expect <<-EOF &&
|
||||
label onto
|
||||
|
||||
reset onto
|
||||
pick d9df450 B
|
||||
pick $b B
|
||||
label E
|
||||
|
||||
reset onto
|
||||
pick 5dee784 C
|
||||
pick $c C
|
||||
label branch-point
|
||||
pick ca2c861 F
|
||||
pick 088b00a G
|
||||
pick $f F
|
||||
pick $g G
|
||||
label H
|
||||
|
||||
reset branch-point # C
|
||||
pick 12bd07b D
|
||||
merge -C 2051b56 E # E
|
||||
merge -C 233d48a H # H
|
||||
pick $d D
|
||||
merge -C $e E # E
|
||||
merge -C $h H # H
|
||||
|
||||
EOF
|
||||
|
||||
|
@ -16,7 +16,11 @@ test_expect_success setup '
|
||||
git add file1 &&
|
||||
test_tick &&
|
||||
git commit -m "second" &&
|
||||
git tag second
|
||||
git tag second &&
|
||||
test_oid_cache <<-EOF
|
||||
cp_ff sha1:1df192cd8bc58a2b275d842cede4d221ad9000d1
|
||||
cp_ff sha256:e70d6b7fc064bddb516b8d512c9057094b96ce6ff08e12080acc4fe7f1d60a1d
|
||||
EOF
|
||||
'
|
||||
|
||||
test_expect_success 'cherry-pick using --ff fast forwards' '
|
||||
@ -102,7 +106,7 @@ test_expect_success 'cherry pick a root commit with --ff' '
|
||||
git add file2 &&
|
||||
git commit --amend -m "file2" &&
|
||||
git cherry-pick --ff first &&
|
||||
test "$(git rev-parse --verify HEAD)" = "1df192cd8bc58a2b275d842cede4d221ad9000d1"
|
||||
test "$(git rev-parse --verify HEAD)" = "$(test_oid cp_ff)"
|
||||
'
|
||||
|
||||
test_expect_success 'cherry-pick --ff on unborn branch' '
|
||||
|
@ -240,12 +240,14 @@ test_expect_success 'refresh index before checking if it is up-to-date' '
|
||||
'
|
||||
|
||||
test_expect_success 'choking "git rm" should not let it die with cruft' '
|
||||
test_oid_init &&
|
||||
git reset -q --hard &&
|
||||
test_when_finished "rm -f .git/index.lock && git reset -q --hard" &&
|
||||
i=0 &&
|
||||
hash=$(test_oid deadbeef) &&
|
||||
while test $i -lt 12000
|
||||
do
|
||||
echo "100644 1234567890123456789012345678901234567890 0 some-file-$i"
|
||||
echo "100644 $hash 0 some-file-$i"
|
||||
i=$(( $i + 1 ))
|
||||
done | git update-index --index-info &&
|
||||
git rm -n "some-file-*" | : &&
|
||||
|
@ -23,6 +23,7 @@ check_verify_failure () {
|
||||
# first create a commit, so we have a valid object/type
|
||||
# for the tag.
|
||||
test_expect_success 'setup' '
|
||||
test_oid_init &&
|
||||
echo Hello >A &&
|
||||
git update-index --add A &&
|
||||
git commit -m "Initial commit" &&
|
||||
@ -69,28 +70,28 @@ check_verify_failure '"object" line SHA1 check' '^error: char7: .*SHA1 hash$'
|
||||
# 4. type line label check
|
||||
|
||||
cat >tag.sig <<EOF
|
||||
object 779e9b33986b1c2670fff52c5067603117b3e895
|
||||
object $head
|
||||
xxxx tag
|
||||
tag mytag
|
||||
tagger . <> 0 +0000
|
||||
|
||||
EOF
|
||||
|
||||
check_verify_failure '"type" line label check' '^error: char47: .*"\\ntype "$'
|
||||
check_verify_failure '"type" line label check' '^error: char.*: .*"\\ntype "$'
|
||||
|
||||
############################################################
|
||||
# 5. type line eol check
|
||||
|
||||
echo "object 779e9b33986b1c2670fff52c5067603117b3e895" >tag.sig
|
||||
echo "object $head" >tag.sig
|
||||
printf "type tagsssssssssssssssssssssssssssssss" >>tag.sig
|
||||
|
||||
check_verify_failure '"type" line eol check' '^error: char48: .*"\\n"$'
|
||||
check_verify_failure '"type" line eol check' '^error: char.*: .*"\\n"$'
|
||||
|
||||
############################################################
|
||||
# 6. tag line label check #1
|
||||
|
||||
cat >tag.sig <<EOF
|
||||
object 779e9b33986b1c2670fff52c5067603117b3e895
|
||||
object $head
|
||||
type tag
|
||||
xxx mytag
|
||||
tagger . <> 0 +0000
|
||||
@ -98,37 +99,37 @@ tagger . <> 0 +0000
|
||||
EOF
|
||||
|
||||
check_verify_failure '"tag" line label check #1' \
|
||||
'^error: char57: no "tag " found$'
|
||||
'^error: char.*: no "tag " found$'
|
||||
|
||||
############################################################
|
||||
# 7. tag line label check #2
|
||||
|
||||
cat >tag.sig <<EOF
|
||||
object 779e9b33986b1c2670fff52c5067603117b3e895
|
||||
object $head
|
||||
type taggggggggggggggggggggggggggggggg
|
||||
tag
|
||||
EOF
|
||||
|
||||
check_verify_failure '"tag" line label check #2' \
|
||||
'^error: char87: no "tag " found$'
|
||||
'^error: char.*: no "tag " found$'
|
||||
|
||||
############################################################
|
||||
# 8. type line type-name length check
|
||||
|
||||
cat >tag.sig <<EOF
|
||||
object 779e9b33986b1c2670fff52c5067603117b3e895
|
||||
object $head
|
||||
type taggggggggggggggggggggggggggggggg
|
||||
tag mytag
|
||||
EOF
|
||||
|
||||
check_verify_failure '"type" line type-name length check' \
|
||||
'^error: char53: type too long$'
|
||||
'^error: char.*: type too long$'
|
||||
|
||||
############################################################
|
||||
# 9. verify object (SHA1/type) check
|
||||
|
||||
cat >tag.sig <<EOF
|
||||
object 779e9b33986b1c2670fff52c5067603117b3e895
|
||||
object $(test_oid deadbeef)
|
||||
type tagggg
|
||||
tag mytag
|
||||
tagger . <> 0 +0000
|
||||
@ -150,7 +151,7 @@ tagger . <> 0 +0000
|
||||
EOF
|
||||
|
||||
check_verify_failure 'verify tag-name check' \
|
||||
'^error: char67: could not verify tag name$'
|
||||
'^error: char.*: could not verify tag name$'
|
||||
|
||||
############################################################
|
||||
# 11. tagger line label check #1
|
||||
@ -164,7 +165,7 @@ This is filler
|
||||
EOF
|
||||
|
||||
check_verify_failure '"tagger" line label check #1' \
|
||||
'^error: char70: could not find "tagger "$'
|
||||
'^error: char.*: could not find "tagger "$'
|
||||
|
||||
############################################################
|
||||
# 12. tagger line label check #2
|
||||
@ -179,7 +180,7 @@ This is filler
|
||||
EOF
|
||||
|
||||
check_verify_failure '"tagger" line label check #2' \
|
||||
'^error: char70: could not find "tagger "$'
|
||||
'^error: char.*: could not find "tagger "$'
|
||||
|
||||
############################################################
|
||||
# 13. disallow missing tag author name
|
||||
@ -194,7 +195,7 @@ This is filler
|
||||
EOF
|
||||
|
||||
check_verify_failure 'disallow missing tag author name' \
|
||||
'^error: char77: missing tagger name$'
|
||||
'^error: char.*: missing tagger name$'
|
||||
|
||||
############################################################
|
||||
# 14. disallow missing tag author name
|
||||
@ -209,7 +210,7 @@ tagger T A Gger <
|
||||
EOF
|
||||
|
||||
check_verify_failure 'disallow malformed tagger' \
|
||||
'^error: char77: malformed tagger field$'
|
||||
'^error: char.*: malformed tagger field$'
|
||||
|
||||
############################################################
|
||||
# 15. allow empty tag email
|
||||
@ -238,7 +239,7 @@ tagger T A Gger <tag ger@example.com> 0 +0000
|
||||
EOF
|
||||
|
||||
check_verify_failure 'disallow spaces in tag email' \
|
||||
'^error: char77: malformed tagger field$'
|
||||
'^error: char.*: malformed tagger field$'
|
||||
|
||||
############################################################
|
||||
# 17. disallow missing tag timestamp
|
||||
@ -252,7 +253,7 @@ tagger T A Gger <tagger@example.com>__
|
||||
EOF
|
||||
|
||||
check_verify_failure 'disallow missing tag timestamp' \
|
||||
'^error: char107: missing tag timestamp$'
|
||||
'^error: char.*: missing tag timestamp$'
|
||||
|
||||
############################################################
|
||||
# 18. detect invalid tag timestamp1
|
||||
@ -266,7 +267,7 @@ tagger T A Gger <tagger@example.com> Tue Mar 25 15:47:44 2008
|
||||
EOF
|
||||
|
||||
check_verify_failure 'detect invalid tag timestamp1' \
|
||||
'^error: char107: missing tag timestamp$'
|
||||
'^error: char.*: missing tag timestamp$'
|
||||
|
||||
############################################################
|
||||
# 19. detect invalid tag timestamp2
|
||||
@ -280,7 +281,7 @@ tagger T A Gger <tagger@example.com> 2008-03-31T12:20:15-0500
|
||||
EOF
|
||||
|
||||
check_verify_failure 'detect invalid tag timestamp2' \
|
||||
'^error: char111: malformed tag timestamp$'
|
||||
'^error: char.*: malformed tag timestamp$'
|
||||
|
||||
############################################################
|
||||
# 20. detect invalid tag timezone1
|
||||
@ -294,7 +295,7 @@ tagger T A Gger <tagger@example.com> 1206478233 GMT
|
||||
EOF
|
||||
|
||||
check_verify_failure 'detect invalid tag timezone1' \
|
||||
'^error: char118: malformed tag timezone$'
|
||||
'^error: char.*: malformed tag timezone$'
|
||||
|
||||
############################################################
|
||||
# 21. detect invalid tag timezone2
|
||||
@ -308,7 +309,7 @@ tagger T A Gger <tagger@example.com> 1206478233 + 30
|
||||
EOF
|
||||
|
||||
check_verify_failure 'detect invalid tag timezone2' \
|
||||
'^error: char118: malformed tag timezone$'
|
||||
'^error: char.*: malformed tag timezone$'
|
||||
|
||||
############################################################
|
||||
# 22. detect invalid tag timezone3
|
||||
@ -322,7 +323,7 @@ tagger T A Gger <tagger@example.com> 1206478233 -1430
|
||||
EOF
|
||||
|
||||
check_verify_failure 'detect invalid tag timezone3' \
|
||||
'^error: char118: malformed tag timezone$'
|
||||
'^error: char.*: malformed tag timezone$'
|
||||
|
||||
############################################################
|
||||
# 23. detect invalid header entry
|
||||
@ -337,7 +338,7 @@ this line should not be here
|
||||
EOF
|
||||
|
||||
check_verify_failure 'detect invalid header entry' \
|
||||
'^error: char124: trailing garbage in tag header$'
|
||||
'^error: char.*: trailing garbage in tag header$'
|
||||
|
||||
############################################################
|
||||
# 24. create valid tag
|
||||
|
@ -7,6 +7,18 @@ test_description='Test git stash'
|
||||
|
||||
. ./test-lib.sh
|
||||
|
||||
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/' \
|
||||
-e 's/^index [0-9a-f]*,[0-9a-f]*\.\.[0-9a-f]*/index 1234567,7654321..89abcde/' \
|
||||
"$i" >"$i.compare" || return 1
|
||||
done &&
|
||||
test_cmp "$1.compare" "$2.compare" &&
|
||||
rm -f "$1.compare" "$2.compare"
|
||||
}
|
||||
|
||||
test_expect_success 'stash some dirty working directory' '
|
||||
echo 1 >file &&
|
||||
git add file &&
|
||||
@ -36,7 +48,7 @@ EOF
|
||||
test_expect_success 'parents of stash' '
|
||||
test $(git rev-parse stash^) = $(git rev-parse HEAD) &&
|
||||
git diff stash^2..stash >output &&
|
||||
test_cmp expect output
|
||||
diff_cmp expect output
|
||||
'
|
||||
|
||||
test_expect_success 'applying bogus stash does nothing' '
|
||||
@ -210,13 +222,13 @@ test_expect_success 'stash branch' '
|
||||
test refs/heads/stashbranch = $(git symbolic-ref HEAD) &&
|
||||
test $(git rev-parse HEAD) = $(git rev-parse master^) &&
|
||||
git diff --cached >output &&
|
||||
test_cmp expect output &&
|
||||
diff_cmp expect output &&
|
||||
git diff >output &&
|
||||
test_cmp expect1 output &&
|
||||
diff_cmp expect1 output &&
|
||||
git add file &&
|
||||
git commit -m alternate\ second &&
|
||||
git diff master..stashbranch >output &&
|
||||
test_cmp output expect2 &&
|
||||
diff_cmp output expect2 &&
|
||||
test 0 = $(git stash list | wc -l)
|
||||
'
|
||||
|
||||
@ -577,7 +589,7 @@ test_expect_success 'stash show -p - stashes on stack, stash-like argument' '
|
||||
+bar
|
||||
EOF
|
||||
git stash show -p ${STASH_ID} >actual &&
|
||||
test_cmp expected actual
|
||||
diff_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'stash show - no stashes on stack, stash-like argument' '
|
||||
@ -609,7 +621,7 @@ test_expect_success 'stash show -p - no stashes on stack, stash-like argument' '
|
||||
+foo
|
||||
EOF
|
||||
git stash show -p ${STASH_ID} >actual &&
|
||||
test_cmp expected actual
|
||||
diff_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'stash show --patience shows diff' '
|
||||
@ -627,7 +639,7 @@ test_expect_success 'stash show --patience shows diff' '
|
||||
+foo
|
||||
EOF
|
||||
git stash show --patience ${STASH_ID} >actual &&
|
||||
test_cmp expected actual
|
||||
diff_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'drop: fail early if specified stash is not a stash ref' '
|
||||
@ -791,7 +803,7 @@ test_expect_success 'stash where working directory contains "HEAD" file' '
|
||||
git diff-index --cached --quiet HEAD &&
|
||||
test "$(git rev-parse stash^)" = "$(git rev-parse HEAD)" &&
|
||||
git diff stash^..stash >output &&
|
||||
test_cmp expect output
|
||||
diff_cmp expect output
|
||||
'
|
||||
|
||||
test_expect_success 'store called with invalid commit' '
|
||||
@ -847,7 +859,7 @@ test_expect_success 'stash list implies --first-parent -m' '
|
||||
+working
|
||||
EOF
|
||||
git stash list --format=%gd -p >actual &&
|
||||
test_cmp expect actual
|
||||
diff_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success 'stash list --cc shows combined diff' '
|
||||
@ -864,7 +876,7 @@ test_expect_success 'stash list --cc shows combined diff' '
|
||||
++working
|
||||
EOF
|
||||
git stash list --format=%gd -p --cc >actual &&
|
||||
test_cmp expect actual
|
||||
diff_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success 'stash is not confused by partial renames' '
|
||||
|
@ -78,7 +78,7 @@ test_expect_success 'git diff-files --no-patch --patch shows the patch' '
|
||||
|
||||
test_expect_success 'git diff-files --no-patch --patch-with-raw shows the patch and raw data' '
|
||||
git diff-files --no-patch --patch-with-raw >actual &&
|
||||
grep -q "^:100644 100755 .* 0000000000000000000000000000000000000000 M path0\$" actual &&
|
||||
grep -q "^:100644 100755 .* $ZERO_OID M path0\$" actual &&
|
||||
tail -n +4 actual >actual-patch &&
|
||||
compare_diff_patch expected actual-patch
|
||||
'
|
||||
|
@ -7,123 +7,272 @@ test_description='Test diff raw-output.
|
||||
|
||||
'
|
||||
. ./test-lib.sh
|
||||
|
||||
. "$TEST_DIRECTORY"/lib-read-tree-m-3way.sh
|
||||
|
||||
cat >.test-plain-OA <<\EOF
|
||||
:000000 100644 0000000000000000000000000000000000000000 ccba72ad3888a3520b39efcf780b9ee64167535d A AA
|
||||
:000000 100644 0000000000000000000000000000000000000000 7e426fb079479fd67f6d81f984e4ec649a44bc25 A AN
|
||||
:100644 000000 bcc68ef997017466d5c9094bcf7692295f588c9a 0000000000000000000000000000000000000000 D DD
|
||||
:000000 040000 0000000000000000000000000000000000000000 6d50f65d3bdab91c63444294d38f08aeff328e42 A DF
|
||||
:100644 000000 141c1f1642328e4bc46a7d801a71da392e66791e 0000000000000000000000000000000000000000 D DM
|
||||
:100644 000000 35abde1506ddf806572ff4d407bd06885d0f8ee9 0000000000000000000000000000000000000000 D DN
|
||||
:000000 100644 0000000000000000000000000000000000000000 1d41122ebdd7a640f29d3c9cc4f9d70094374762 A LL
|
||||
:100644 100644 03f24c8c4700babccfd28b654e7e8eac402ad6cd 103d9f89b50b9aad03054b579be5e7aa665f2d57 M MD
|
||||
:100644 100644 b258508afb7ceb449981bd9d63d2d3e971bf8d34 b431b272d829ff3aa4d1a5085f4394ab4d3305b6 M MM
|
||||
:100644 100644 bd084b0c27c7b6cc34f11d6d0509a29be3caf970 a716d58de4a570e0038f5c307bd8db34daea021f M MN
|
||||
:100644 100644 40c959f984c8b89a2b02520d17f00d717f024397 2ac547ae9614a00d1b28275de608131f7a0e259f M SS
|
||||
:100644 100644 4ac13458899ab908ef3b1128fa378daefc88d356 4c86f9a85fbc5e6804ee2e17a797538fbe785bca M TT
|
||||
:040000 040000 7d670fdcdb9929f6c7dac196ff78689cd1c566a1 5e5f22072bb39f6e12cf663a57cb634c76eefb49 M Z
|
||||
test_oid_init
|
||||
|
||||
test_oid_cache <<\EOF
|
||||
aa_1 sha1:ccba72ad3888a3520b39efcf780b9ee64167535d
|
||||
aa_1 sha256:9febfbf18197819b2735c45291f138525d2476d59470f98239647544586ba403
|
||||
|
||||
aa_2 sha1:6aa2b5335b16431a0ef71e5c0a28be69183cf6a2
|
||||
aa_2 sha256:6eaa3437de83f145a4aaa6ba355303075ade547b128ec6a2cd00a81ff7ce7a56
|
||||
|
||||
an_1 sha1:7e426fb079479fd67f6d81f984e4ec649a44bc25
|
||||
an_1 sha256:8f92a0bec99e399a38e3bd0e1bf19fbf121e0160efb29b857df79d439f1c4536
|
||||
|
||||
dd_1 sha1:bcc68ef997017466d5c9094bcf7692295f588c9a
|
||||
dd_1 sha256:07e17428b00639b85485d2b01083d219e2f3e3ba8579e9ca44e9cc8dd554d952
|
||||
|
||||
df_1 sha1:6d50f65d3bdab91c63444294d38f08aeff328e42
|
||||
df_1 sha256:e367cecc27e9bf5451b1c65828cb21938d36a5f8e39c1b03ad6509cc36bb8e9d
|
||||
|
||||
df_2 sha1:71420ab81e254145d26d6fc0cddee64c1acd4787
|
||||
df_2 sha256:0f0a86d10347ff6921d03a3c954679f3f1d14fa3d5cd82f57b32c09755f3a47d
|
||||
|
||||
dfd1 sha1:68a6d8b91da11045cf4aa3a5ab9f2a781c701249
|
||||
dfd1 sha256:f3bd3265b02b6978ce86490d8ad026c573639c974b3de1d9faf30d8d5a77d3d5
|
||||
|
||||
dm_1 sha1:141c1f1642328e4bc46a7d801a71da392e66791e
|
||||
dm_1 sha256:c89f8656e7b94e21ee5fbaf0e2149bbf783c51edbe2ce110349cac13059ee7ed
|
||||
|
||||
dm_2 sha1:3c4d8de5fbad08572bab8e10eef8dbb264cf0231
|
||||
dm_2 sha256:83a572e37e0c94086294dae2cecc43d9131afd6f6c906e495c78972230b54988
|
||||
|
||||
dn_1 sha1:35abde1506ddf806572ff4d407bd06885d0f8ee9
|
||||
dn_1 sha256:775d5852582070e620be63327bfa515fab8f71c7ac3e4f0c3cd6267b4377ba28
|
||||
|
||||
ll_2 sha1:1d41122ebdd7a640f29d3c9cc4f9d70094374762
|
||||
ll_2 sha256:7917b4948a883cfed0a77d3d5a625dc8577d6ddcc3c6c3bbc56c4d4226a2246d
|
||||
|
||||
md_1 sha1:03f24c8c4700babccfd28b654e7e8eac402ad6cd
|
||||
md_1 sha256:fc9f30369b978595ad685ba11ca9a17de0af16d79cd4b629975f4f1590033902
|
||||
|
||||
md_2 sha1:103d9f89b50b9aad03054b579be5e7aa665f2d57
|
||||
md_2 sha256:fc78ec75275628762fe520479a6b2398dec295ce7aabcb1d15e5963c7b4e9317
|
||||
|
||||
mm_1 sha1:b258508afb7ceb449981bd9d63d2d3e971bf8d34
|
||||
mm_1 sha256:a4b7847d228e900e3000285e240c20fd96f9dd41ce1445305f6eada126d4a04a
|
||||
|
||||
mm_2 sha1:b431b272d829ff3aa4d1a5085f4394ab4d3305b6
|
||||
mm_2 sha256:3f8b83ea36aacf689bcf1a1290a9a8ed341564d32682ea6f76fea9a979186782
|
||||
|
||||
mm_3 sha1:19989d4559aae417fedee240ccf2ba315ea4dc2b
|
||||
mm_3 sha256:71b3bfc5747ac033fff9ea0ab39ee453a3af2969890e75d6ef547b87544e2681
|
||||
|
||||
mn_1 sha1:bd084b0c27c7b6cc34f11d6d0509a29be3caf970
|
||||
mn_1 sha256:47a67450583d7a329eb01a7c4ba644945af72c0ed2c7c95eb5a00d6e46d4d483
|
||||
|
||||
mn_2 sha1:a716d58de4a570e0038f5c307bd8db34daea021f
|
||||
mn_2 sha256:f95104c1ebe27acb84bac25a7be98c71f6b8d3054b21f357a5be0c524ad97e08
|
||||
|
||||
nm_1 sha1:c8f25781e8f1792e3e40b74225e20553041b5226
|
||||
nm_1 sha256:09baddc7afaa62e62e152c23c9c3ab94bf15a3894031e227e9be7fe68e1f4e49
|
||||
|
||||
nm_2 sha1:cdb9a8c3da571502ac30225e9c17beccb8387983
|
||||
nm_2 sha256:58b5227956ac2d2a08d0efa513c0ae37430948b16791ea3869a1308dbf05536d
|
||||
|
||||
na_1 sha1:15885881ea69115351c09b38371f0348a3fb8c67
|
||||
na_1 sha256:18e4fdd1670cd7968ee23d35bfd29e5418d56fb190c840094c1c57ceee0aad8f
|
||||
|
||||
nd_1 sha1:a4e179e4291e5536a5e1c82e091052772d2c5a93
|
||||
nd_1 sha256:07dac9b01d00956ea0c65bd993d7de4864aeef2ed3cbb1255d9f1d949fcd6df6
|
||||
|
||||
ss_1 sha1:40c959f984c8b89a2b02520d17f00d717f024397
|
||||
ss_1 sha256:50fc1b5df74d9910db2f9270993484235f15b69b75b01bcfb53e059289d14af9
|
||||
|
||||
ss_2 sha1:2ac547ae9614a00d1b28275de608131f7a0e259f
|
||||
ss_2 sha256:a90f02e6044f1497d13db587d22ab12f90150a7d1e084afcf96065fab35ae2bc
|
||||
|
||||
tt_1 sha1:4ac13458899ab908ef3b1128fa378daefc88d356
|
||||
tt_1 sha256:c53113c7dd5060e86b5b251428bd058f6726f66273c6a24bff1c61a04f498dd3
|
||||
|
||||
tt_2 sha1:4c86f9a85fbc5e6804ee2e17a797538fbe785bca
|
||||
tt_2 sha256:0775f2a296129a7cf2862b46bc0e88c14d593f2773a3e3fb1c5193db6f5a7e77
|
||||
|
||||
tt_3 sha1:c4e4a12231b9fa79a0053cb6077fcb21bb5b135a
|
||||
tt_3 sha256:47860f93cdd211f96443e0560f21c57ab6c2f4b0ac27ff03651a352e53fe8484
|
||||
|
||||
z__1 sha1:7d670fdcdb9929f6c7dac196ff78689cd1c566a1
|
||||
z__1 sha256:44d0f37aff5e51cfcfdd1134c93a6419bcca7b9964f792ffcd5f9b4fcba1ee63
|
||||
|
||||
z__2 sha1:5e5f22072bb39f6e12cf663a57cb634c76eefb49
|
||||
z__2 sha256:d29de162113190fed104eb5f010820cef4e315f89b9326e8497f7219fb737894
|
||||
|
||||
z__3 sha1:1ba523955d5160681af65cb776411f574c1e8155
|
||||
z__3 sha256:07422d772b07794ab4369a5648e617719f89c2d2212cbeab05d97214b6471636
|
||||
|
||||
zaa1 sha1:8acb8e9750e3f644bf323fcf3d338849db106c77
|
||||
zaa1 sha256:e79b029282c8abec2d9f3f7faceaf2a1405e02d1f368e66450ae66cf5b68d1f4
|
||||
|
||||
zaa2 sha1:6c0b99286d0bce551ac4a7b3dff8b706edff3715
|
||||
zaa2 sha256:c82bd78c3e69ea1796e6b1a7a3ba45bb106c50e819296475b862123d3f5cc5a0
|
||||
|
||||
zan1 sha1:087494262084cefee7ed484d20c8dc0580791272
|
||||
zan1 sha256:4b159eb3804d05599023dd074f771d06d02870f4ab24a7165add8ac3d703b8d3
|
||||
|
||||
zdd1 sha1:879007efae624d2b1307214b24a956f0a8d686a8
|
||||
zdd1 sha256:eecfdd4d8092dd0363fb6d4548b54c6afc8982c3ed9b34e393f1d6a921d8eaa3
|
||||
|
||||
zdm1 sha1:9b541b2275c06e3a7b13f28badf5294e2ae63df4
|
||||
zdm1 sha256:ab136e88e19a843c4bf7713d2090d5a2186ba16a6a80dacc12eeddd256a8e556
|
||||
|
||||
zdm2 sha1:d77371d15817fcaa57eeec27f770c505ba974ec1
|
||||
zdm2 sha256:1c1a5f57363f46a15d95ce8527b3c2c158d88d16853b4acbf81bd20fd2c89a46
|
||||
|
||||
zdn1 sha1:beb5d38c55283d280685ea21a0e50cfcc0ca064a
|
||||
zdn1 sha256:0f0eca66183617b0aa5ad74b256540329f841470922ca6760263c996d825eb18
|
||||
|
||||
zmd1 sha1:d41fda41b7ec4de46b43cb7ea42a45001ae393d5
|
||||
zmd1 sha256:1ed32d481852eddf31a0ce12652a0ad14bf5b7a842667b5dbb0b50f35bf1c80a
|
||||
|
||||
zmd2 sha1:a79ac3be9377639e1c7d1edf1ae1b3a5f0ccd8a9
|
||||
zmd2 sha256:b238da211b404f8917df2d9c6f7030535e904b2186131007a3c292ec6902f933
|
||||
|
||||
zmm1 sha1:4ca22bae2527d3d9e1676498a0fba3b355bd1278
|
||||
zmm1 sha256:072b1d85b5f34fabc99dfa46008c5418df68302d3e317430006f49b32d244226
|
||||
|
||||
zmm2 sha1:61422ba9c2c873416061a88cd40a59a35b576474
|
||||
zmm2 sha256:81dd5d2b3c5cda16fef552256aed4e2ea0802a8450a08f308a92142112ff6dda
|
||||
|
||||
zmm3 sha1:697aad7715a1e7306ca76290a3dd4208fbaeddfa
|
||||
zmm3 sha256:8b10fab49e9be3414aa5e9a93d0e46f9569053440138a7c19a5eb5536d8e95bf
|
||||
|
||||
zmn1 sha1:b16d7b25b869f2beb124efa53467d8a1550ad694
|
||||
zmn1 sha256:609e4f75d1295e844c826feeba213acb0b6cfc609adfe8ff705b19e3829ae3e9
|
||||
|
||||
zmn2 sha1:a5c544c21cfcb07eb80a4d89a5b7d1570002edfd
|
||||
zmn2 sha256:d6d03edf2dc1a3b267a8205de5f41a2ff4b03def8c7ae02052b543fb09d589fc
|
||||
|
||||
zna1 sha1:d12979c22fff69c59ca9409e7a8fe3ee25eaee80
|
||||
zna1 sha256:b37b80e789e8ea32aa323f004628f02013f632124b0282c7fe00a127d3c64c3c
|
||||
|
||||
znd1 sha1:a18393c636b98e9bd7296b8b437ea4992b72440c
|
||||
znd1 sha256:af92a22eee8c38410a0c9d2b5135a10aeb052cbc7cf675541ed9a67bfcaf7cf9
|
||||
|
||||
znm1 sha1:3fdbe17fd013303a2e981e1ca1c6cd6e72789087
|
||||
znm1 sha256:f75aeaa0c11e76918e381c105f0752932c6150e941fec565d24fa31098a13dc1
|
||||
|
||||
znm2 sha1:7e09d6a3a14bd630913e8c75693cea32157b606d
|
||||
znm2 sha256:938d73cfbaa1c902a84fb5b3afd9736aa0590367fb9bd59c6c4d072ce70fcd6d
|
||||
EOF
|
||||
|
||||
cat >.test-recursive-OA <<\EOF
|
||||
:000000 100644 0000000000000000000000000000000000000000 ccba72ad3888a3520b39efcf780b9ee64167535d A AA
|
||||
:000000 100644 0000000000000000000000000000000000000000 7e426fb079479fd67f6d81f984e4ec649a44bc25 A AN
|
||||
:100644 000000 bcc68ef997017466d5c9094bcf7692295f588c9a 0000000000000000000000000000000000000000 D DD
|
||||
:000000 100644 0000000000000000000000000000000000000000 68a6d8b91da11045cf4aa3a5ab9f2a781c701249 A DF/DF
|
||||
:100644 000000 141c1f1642328e4bc46a7d801a71da392e66791e 0000000000000000000000000000000000000000 D DM
|
||||
:100644 000000 35abde1506ddf806572ff4d407bd06885d0f8ee9 0000000000000000000000000000000000000000 D DN
|
||||
:000000 100644 0000000000000000000000000000000000000000 1d41122ebdd7a640f29d3c9cc4f9d70094374762 A LL
|
||||
:100644 100644 03f24c8c4700babccfd28b654e7e8eac402ad6cd 103d9f89b50b9aad03054b579be5e7aa665f2d57 M MD
|
||||
:100644 100644 b258508afb7ceb449981bd9d63d2d3e971bf8d34 b431b272d829ff3aa4d1a5085f4394ab4d3305b6 M MM
|
||||
:100644 100644 bd084b0c27c7b6cc34f11d6d0509a29be3caf970 a716d58de4a570e0038f5c307bd8db34daea021f M MN
|
||||
:100644 100644 40c959f984c8b89a2b02520d17f00d717f024397 2ac547ae9614a00d1b28275de608131f7a0e259f M SS
|
||||
:100644 100644 4ac13458899ab908ef3b1128fa378daefc88d356 4c86f9a85fbc5e6804ee2e17a797538fbe785bca M TT
|
||||
:000000 100644 0000000000000000000000000000000000000000 8acb8e9750e3f644bf323fcf3d338849db106c77 A Z/AA
|
||||
:000000 100644 0000000000000000000000000000000000000000 087494262084cefee7ed484d20c8dc0580791272 A Z/AN
|
||||
:100644 000000 879007efae624d2b1307214b24a956f0a8d686a8 0000000000000000000000000000000000000000 D Z/DD
|
||||
:100644 000000 9b541b2275c06e3a7b13f28badf5294e2ae63df4 0000000000000000000000000000000000000000 D Z/DM
|
||||
:100644 000000 beb5d38c55283d280685ea21a0e50cfcc0ca064a 0000000000000000000000000000000000000000 D Z/DN
|
||||
:100644 100644 d41fda41b7ec4de46b43cb7ea42a45001ae393d5 a79ac3be9377639e1c7d1edf1ae1b3a5f0ccd8a9 M Z/MD
|
||||
:100644 100644 4ca22bae2527d3d9e1676498a0fba3b355bd1278 61422ba9c2c873416061a88cd40a59a35b576474 M Z/MM
|
||||
:100644 100644 b16d7b25b869f2beb124efa53467d8a1550ad694 a5c544c21cfcb07eb80a4d89a5b7d1570002edfd M Z/MN
|
||||
cat >.test-plain-OA <<EOF
|
||||
:000000 100644 $(test_oid zero) $(test_oid aa_1) A AA
|
||||
:000000 100644 $(test_oid zero) $(test_oid an_1) A AN
|
||||
:100644 000000 $(test_oid dd_1) $(test_oid zero) D DD
|
||||
:000000 040000 $(test_oid zero) $(test_oid df_1) A DF
|
||||
:100644 000000 $(test_oid dm_1) $(test_oid zero) D DM
|
||||
:100644 000000 $(test_oid dn_1) $(test_oid zero) D DN
|
||||
:000000 100644 $(test_oid zero) $(test_oid ll_2) A LL
|
||||
:100644 100644 $(test_oid md_1) $(test_oid md_2) M MD
|
||||
:100644 100644 $(test_oid mm_1) $(test_oid mm_2) M MM
|
||||
:100644 100644 $(test_oid mn_1) $(test_oid mn_2) M MN
|
||||
:100644 100644 $(test_oid ss_1) $(test_oid ss_2) M SS
|
||||
:100644 100644 $(test_oid tt_1) $(test_oid tt_2) M TT
|
||||
:040000 040000 $(test_oid z__1) $(test_oid z__2) M Z
|
||||
EOF
|
||||
cat >.test-plain-OB <<\EOF
|
||||
:000000 100644 0000000000000000000000000000000000000000 6aa2b5335b16431a0ef71e5c0a28be69183cf6a2 A AA
|
||||
:100644 000000 bcc68ef997017466d5c9094bcf7692295f588c9a 0000000000000000000000000000000000000000 D DD
|
||||
:000000 100644 0000000000000000000000000000000000000000 71420ab81e254145d26d6fc0cddee64c1acd4787 A DF
|
||||
:100644 100644 141c1f1642328e4bc46a7d801a71da392e66791e 3c4d8de5fbad08572bab8e10eef8dbb264cf0231 M DM
|
||||
:000000 100644 0000000000000000000000000000000000000000 1d41122ebdd7a640f29d3c9cc4f9d70094374762 A LL
|
||||
:100644 000000 03f24c8c4700babccfd28b654e7e8eac402ad6cd 0000000000000000000000000000000000000000 D MD
|
||||
:100644 100644 b258508afb7ceb449981bd9d63d2d3e971bf8d34 19989d4559aae417fedee240ccf2ba315ea4dc2b M MM
|
||||
:000000 100644 0000000000000000000000000000000000000000 15885881ea69115351c09b38371f0348a3fb8c67 A NA
|
||||
:100644 000000 a4e179e4291e5536a5e1c82e091052772d2c5a93 0000000000000000000000000000000000000000 D ND
|
||||
:100644 100644 c8f25781e8f1792e3e40b74225e20553041b5226 cdb9a8c3da571502ac30225e9c17beccb8387983 M NM
|
||||
:100644 100644 40c959f984c8b89a2b02520d17f00d717f024397 2ac547ae9614a00d1b28275de608131f7a0e259f M SS
|
||||
:100644 100644 4ac13458899ab908ef3b1128fa378daefc88d356 c4e4a12231b9fa79a0053cb6077fcb21bb5b135a M TT
|
||||
:040000 040000 7d670fdcdb9929f6c7dac196ff78689cd1c566a1 1ba523955d5160681af65cb776411f574c1e8155 M Z
|
||||
|
||||
cat >.test-recursive-OA <<EOF
|
||||
:000000 100644 $(test_oid zero) $(test_oid aa_1) A AA
|
||||
:000000 100644 $(test_oid zero) $(test_oid an_1) A AN
|
||||
:100644 000000 $(test_oid dd_1) $(test_oid zero) D DD
|
||||
:000000 100644 $(test_oid zero) $(test_oid dfd1) A DF/DF
|
||||
:100644 000000 $(test_oid dm_1) $(test_oid zero) D DM
|
||||
:100644 000000 $(test_oid dn_1) $(test_oid zero) D DN
|
||||
:000000 100644 $(test_oid zero) $(test_oid ll_2) A LL
|
||||
:100644 100644 $(test_oid md_1) $(test_oid md_2) M MD
|
||||
:100644 100644 $(test_oid mm_1) $(test_oid mm_2) M MM
|
||||
:100644 100644 $(test_oid mn_1) $(test_oid mn_2) M MN
|
||||
:100644 100644 $(test_oid ss_1) $(test_oid ss_2) M SS
|
||||
:100644 100644 $(test_oid tt_1) $(test_oid tt_2) M TT
|
||||
:000000 100644 $(test_oid zero) $(test_oid zaa1) A Z/AA
|
||||
:000000 100644 $(test_oid zero) $(test_oid zan1) A Z/AN
|
||||
:100644 000000 $(test_oid zdd1) $(test_oid zero) D Z/DD
|
||||
:100644 000000 $(test_oid zdm1) $(test_oid zero) D Z/DM
|
||||
:100644 000000 $(test_oid zdn1) $(test_oid zero) D Z/DN
|
||||
:100644 100644 $(test_oid zmd1) $(test_oid zmd2) M Z/MD
|
||||
:100644 100644 $(test_oid zmm1) $(test_oid zmm2) M Z/MM
|
||||
:100644 100644 $(test_oid zmn1) $(test_oid zmn2) M Z/MN
|
||||
EOF
|
||||
cat >.test-recursive-OB <<\EOF
|
||||
:000000 100644 0000000000000000000000000000000000000000 6aa2b5335b16431a0ef71e5c0a28be69183cf6a2 A AA
|
||||
:100644 000000 bcc68ef997017466d5c9094bcf7692295f588c9a 0000000000000000000000000000000000000000 D DD
|
||||
:000000 100644 0000000000000000000000000000000000000000 71420ab81e254145d26d6fc0cddee64c1acd4787 A DF
|
||||
:100644 100644 141c1f1642328e4bc46a7d801a71da392e66791e 3c4d8de5fbad08572bab8e10eef8dbb264cf0231 M DM
|
||||
:000000 100644 0000000000000000000000000000000000000000 1d41122ebdd7a640f29d3c9cc4f9d70094374762 A LL
|
||||
:100644 000000 03f24c8c4700babccfd28b654e7e8eac402ad6cd 0000000000000000000000000000000000000000 D MD
|
||||
:100644 100644 b258508afb7ceb449981bd9d63d2d3e971bf8d34 19989d4559aae417fedee240ccf2ba315ea4dc2b M MM
|
||||
:000000 100644 0000000000000000000000000000000000000000 15885881ea69115351c09b38371f0348a3fb8c67 A NA
|
||||
:100644 000000 a4e179e4291e5536a5e1c82e091052772d2c5a93 0000000000000000000000000000000000000000 D ND
|
||||
:100644 100644 c8f25781e8f1792e3e40b74225e20553041b5226 cdb9a8c3da571502ac30225e9c17beccb8387983 M NM
|
||||
:100644 100644 40c959f984c8b89a2b02520d17f00d717f024397 2ac547ae9614a00d1b28275de608131f7a0e259f M SS
|
||||
:100644 100644 4ac13458899ab908ef3b1128fa378daefc88d356 c4e4a12231b9fa79a0053cb6077fcb21bb5b135a M TT
|
||||
:000000 100644 0000000000000000000000000000000000000000 6c0b99286d0bce551ac4a7b3dff8b706edff3715 A Z/AA
|
||||
:100644 000000 879007efae624d2b1307214b24a956f0a8d686a8 0000000000000000000000000000000000000000 D Z/DD
|
||||
:100644 100644 9b541b2275c06e3a7b13f28badf5294e2ae63df4 d77371d15817fcaa57eeec27f770c505ba974ec1 M Z/DM
|
||||
:100644 000000 d41fda41b7ec4de46b43cb7ea42a45001ae393d5 0000000000000000000000000000000000000000 D Z/MD
|
||||
:100644 100644 4ca22bae2527d3d9e1676498a0fba3b355bd1278 697aad7715a1e7306ca76290a3dd4208fbaeddfa M Z/MM
|
||||
:000000 100644 0000000000000000000000000000000000000000 d12979c22fff69c59ca9409e7a8fe3ee25eaee80 A Z/NA
|
||||
:100644 000000 a18393c636b98e9bd7296b8b437ea4992b72440c 0000000000000000000000000000000000000000 D Z/ND
|
||||
:100644 100644 3fdbe17fd013303a2e981e1ca1c6cd6e72789087 7e09d6a3a14bd630913e8c75693cea32157b606d M Z/NM
|
||||
cat >.test-plain-OB <<EOF
|
||||
:000000 100644 $(test_oid zero) $(test_oid aa_2) A AA
|
||||
:100644 000000 $(test_oid dd_1) $(test_oid zero) D DD
|
||||
:000000 100644 $(test_oid zero) $(test_oid df_2) A DF
|
||||
:100644 100644 $(test_oid dm_1) $(test_oid dm_2) M DM
|
||||
:000000 100644 $(test_oid zero) $(test_oid ll_2) A LL
|
||||
:100644 000000 $(test_oid md_1) $(test_oid zero) D MD
|
||||
:100644 100644 $(test_oid mm_1) $(test_oid mm_3) M MM
|
||||
:000000 100644 $(test_oid zero) $(test_oid na_1) A NA
|
||||
:100644 000000 $(test_oid nd_1) $(test_oid zero) D ND
|
||||
:100644 100644 $(test_oid nm_1) $(test_oid nm_2) M NM
|
||||
:100644 100644 $(test_oid ss_1) $(test_oid ss_2) M SS
|
||||
:100644 100644 $(test_oid tt_1) $(test_oid tt_3) M TT
|
||||
:040000 040000 $(test_oid z__1) $(test_oid z__3) M Z
|
||||
EOF
|
||||
cat >.test-plain-AB <<\EOF
|
||||
:100644 100644 ccba72ad3888a3520b39efcf780b9ee64167535d 6aa2b5335b16431a0ef71e5c0a28be69183cf6a2 M AA
|
||||
:100644 000000 7e426fb079479fd67f6d81f984e4ec649a44bc25 0000000000000000000000000000000000000000 D AN
|
||||
:000000 100644 0000000000000000000000000000000000000000 71420ab81e254145d26d6fc0cddee64c1acd4787 A DF
|
||||
:040000 000000 6d50f65d3bdab91c63444294d38f08aeff328e42 0000000000000000000000000000000000000000 D DF
|
||||
:000000 100644 0000000000000000000000000000000000000000 3c4d8de5fbad08572bab8e10eef8dbb264cf0231 A DM
|
||||
:000000 100644 0000000000000000000000000000000000000000 35abde1506ddf806572ff4d407bd06885d0f8ee9 A DN
|
||||
:100644 000000 103d9f89b50b9aad03054b579be5e7aa665f2d57 0000000000000000000000000000000000000000 D MD
|
||||
:100644 100644 b431b272d829ff3aa4d1a5085f4394ab4d3305b6 19989d4559aae417fedee240ccf2ba315ea4dc2b M MM
|
||||
:100644 100644 a716d58de4a570e0038f5c307bd8db34daea021f bd084b0c27c7b6cc34f11d6d0509a29be3caf970 M MN
|
||||
:000000 100644 0000000000000000000000000000000000000000 15885881ea69115351c09b38371f0348a3fb8c67 A NA
|
||||
:100644 000000 a4e179e4291e5536a5e1c82e091052772d2c5a93 0000000000000000000000000000000000000000 D ND
|
||||
:100644 100644 c8f25781e8f1792e3e40b74225e20553041b5226 cdb9a8c3da571502ac30225e9c17beccb8387983 M NM
|
||||
:100644 100644 4c86f9a85fbc5e6804ee2e17a797538fbe785bca c4e4a12231b9fa79a0053cb6077fcb21bb5b135a M TT
|
||||
:040000 040000 5e5f22072bb39f6e12cf663a57cb634c76eefb49 1ba523955d5160681af65cb776411f574c1e8155 M Z
|
||||
cat >.test-recursive-OB <<EOF
|
||||
:000000 100644 $(test_oid zero) $(test_oid aa_2) A AA
|
||||
:100644 000000 $(test_oid dd_1) $(test_oid zero) D DD
|
||||
:000000 100644 $(test_oid zero) $(test_oid df_2) A DF
|
||||
:100644 100644 $(test_oid dm_1) $(test_oid dm_2) M DM
|
||||
:000000 100644 $(test_oid zero) $(test_oid ll_2) A LL
|
||||
:100644 000000 $(test_oid md_1) $(test_oid zero) D MD
|
||||
:100644 100644 $(test_oid mm_1) $(test_oid mm_3) M MM
|
||||
:000000 100644 $(test_oid zero) $(test_oid na_1) A NA
|
||||
:100644 000000 $(test_oid nd_1) $(test_oid zero) D ND
|
||||
:100644 100644 $(test_oid nm_1) $(test_oid nm_2) M NM
|
||||
:100644 100644 $(test_oid ss_1) $(test_oid ss_2) M SS
|
||||
:100644 100644 $(test_oid tt_1) $(test_oid tt_3) M TT
|
||||
:000000 100644 $(test_oid zero) $(test_oid zaa2) A Z/AA
|
||||
:100644 000000 $(test_oid zdd1) $(test_oid zero) D Z/DD
|
||||
:100644 100644 $(test_oid zdm1) $(test_oid zdm2) M Z/DM
|
||||
:100644 000000 $(test_oid zmd1) $(test_oid zero) D Z/MD
|
||||
:100644 100644 $(test_oid zmm1) $(test_oid zmm3) M Z/MM
|
||||
:000000 100644 $(test_oid zero) $(test_oid zna1) A Z/NA
|
||||
:100644 000000 $(test_oid znd1) $(test_oid zero) D Z/ND
|
||||
:100644 100644 $(test_oid znm1) $(test_oid znm2) M Z/NM
|
||||
EOF
|
||||
cat >.test-recursive-AB <<\EOF
|
||||
:100644 100644 ccba72ad3888a3520b39efcf780b9ee64167535d 6aa2b5335b16431a0ef71e5c0a28be69183cf6a2 M AA
|
||||
:100644 000000 7e426fb079479fd67f6d81f984e4ec649a44bc25 0000000000000000000000000000000000000000 D AN
|
||||
:000000 100644 0000000000000000000000000000000000000000 71420ab81e254145d26d6fc0cddee64c1acd4787 A DF
|
||||
:100644 000000 68a6d8b91da11045cf4aa3a5ab9f2a781c701249 0000000000000000000000000000000000000000 D DF/DF
|
||||
:000000 100644 0000000000000000000000000000000000000000 3c4d8de5fbad08572bab8e10eef8dbb264cf0231 A DM
|
||||
:000000 100644 0000000000000000000000000000000000000000 35abde1506ddf806572ff4d407bd06885d0f8ee9 A DN
|
||||
:100644 000000 103d9f89b50b9aad03054b579be5e7aa665f2d57 0000000000000000000000000000000000000000 D MD
|
||||
:100644 100644 b431b272d829ff3aa4d1a5085f4394ab4d3305b6 19989d4559aae417fedee240ccf2ba315ea4dc2b M MM
|
||||
:100644 100644 a716d58de4a570e0038f5c307bd8db34daea021f bd084b0c27c7b6cc34f11d6d0509a29be3caf970 M MN
|
||||
:000000 100644 0000000000000000000000000000000000000000 15885881ea69115351c09b38371f0348a3fb8c67 A NA
|
||||
:100644 000000 a4e179e4291e5536a5e1c82e091052772d2c5a93 0000000000000000000000000000000000000000 D ND
|
||||
:100644 100644 c8f25781e8f1792e3e40b74225e20553041b5226 cdb9a8c3da571502ac30225e9c17beccb8387983 M NM
|
||||
:100644 100644 4c86f9a85fbc5e6804ee2e17a797538fbe785bca c4e4a12231b9fa79a0053cb6077fcb21bb5b135a M TT
|
||||
:100644 100644 8acb8e9750e3f644bf323fcf3d338849db106c77 6c0b99286d0bce551ac4a7b3dff8b706edff3715 M Z/AA
|
||||
:100644 000000 087494262084cefee7ed484d20c8dc0580791272 0000000000000000000000000000000000000000 D Z/AN
|
||||
:000000 100644 0000000000000000000000000000000000000000 d77371d15817fcaa57eeec27f770c505ba974ec1 A Z/DM
|
||||
:000000 100644 0000000000000000000000000000000000000000 beb5d38c55283d280685ea21a0e50cfcc0ca064a A Z/DN
|
||||
:100644 000000 a79ac3be9377639e1c7d1edf1ae1b3a5f0ccd8a9 0000000000000000000000000000000000000000 D Z/MD
|
||||
:100644 100644 61422ba9c2c873416061a88cd40a59a35b576474 697aad7715a1e7306ca76290a3dd4208fbaeddfa M Z/MM
|
||||
:100644 100644 a5c544c21cfcb07eb80a4d89a5b7d1570002edfd b16d7b25b869f2beb124efa53467d8a1550ad694 M Z/MN
|
||||
:000000 100644 0000000000000000000000000000000000000000 d12979c22fff69c59ca9409e7a8fe3ee25eaee80 A Z/NA
|
||||
:100644 000000 a18393c636b98e9bd7296b8b437ea4992b72440c 0000000000000000000000000000000000000000 D Z/ND
|
||||
:100644 100644 3fdbe17fd013303a2e981e1ca1c6cd6e72789087 7e09d6a3a14bd630913e8c75693cea32157b606d M Z/NM
|
||||
cat >.test-plain-AB <<EOF
|
||||
:100644 100644 $(test_oid aa_1) $(test_oid aa_2) M AA
|
||||
:100644 000000 $(test_oid an_1) $(test_oid zero) D AN
|
||||
:000000 100644 $(test_oid zero) $(test_oid df_2) A DF
|
||||
:040000 000000 $(test_oid df_1) $(test_oid zero) D DF
|
||||
:000000 100644 $(test_oid zero) $(test_oid dm_2) A DM
|
||||
:000000 100644 $(test_oid zero) $(test_oid dn_1) A DN
|
||||
:100644 000000 $(test_oid md_2) $(test_oid zero) D MD
|
||||
:100644 100644 $(test_oid mm_2) $(test_oid mm_3) M MM
|
||||
:100644 100644 $(test_oid mn_2) $(test_oid mn_1) M MN
|
||||
:000000 100644 $(test_oid zero) $(test_oid na_1) A NA
|
||||
:100644 000000 $(test_oid nd_1) $(test_oid zero) D ND
|
||||
:100644 100644 $(test_oid nm_1) $(test_oid nm_2) M NM
|
||||
:100644 100644 $(test_oid tt_2) $(test_oid tt_3) M TT
|
||||
:040000 040000 $(test_oid z__2) $(test_oid z__3) M Z
|
||||
EOF
|
||||
cat >.test-recursive-AB <<EOF
|
||||
:100644 100644 $(test_oid aa_1) $(test_oid aa_2) M AA
|
||||
:100644 000000 $(test_oid an_1) $(test_oid zero) D AN
|
||||
:000000 100644 $(test_oid zero) $(test_oid df_2) A DF
|
||||
:100644 000000 $(test_oid dfd1) $(test_oid zero) D DF/DF
|
||||
:000000 100644 $(test_oid zero) $(test_oid dm_2) A DM
|
||||
:000000 100644 $(test_oid zero) $(test_oid dn_1) A DN
|
||||
:100644 000000 $(test_oid md_2) $(test_oid zero) D MD
|
||||
:100644 100644 $(test_oid mm_2) $(test_oid mm_3) M MM
|
||||
:100644 100644 $(test_oid mn_2) $(test_oid mn_1) M MN
|
||||
:000000 100644 $(test_oid zero) $(test_oid na_1) A NA
|
||||
:100644 000000 $(test_oid nd_1) $(test_oid zero) D ND
|
||||
:100644 100644 $(test_oid nm_1) $(test_oid nm_2) M NM
|
||||
:100644 100644 $(test_oid tt_2) $(test_oid tt_3) M TT
|
||||
:100644 100644 $(test_oid zaa1) $(test_oid zaa2) M Z/AA
|
||||
:100644 000000 $(test_oid zan1) $(test_oid zero) D Z/AN
|
||||
:000000 100644 $(test_oid zero) $(test_oid zdm2) A Z/DM
|
||||
:000000 100644 $(test_oid zero) $(test_oid zdn1) A Z/DN
|
||||
:100644 000000 $(test_oid zmd2) $(test_oid zero) D Z/MD
|
||||
:100644 100644 $(test_oid zmm2) $(test_oid zmm3) M Z/MM
|
||||
:100644 100644 $(test_oid zmn2) $(test_oid zmn1) M Z/MN
|
||||
:000000 100644 $(test_oid zero) $(test_oid zna1) A Z/NA
|
||||
:100644 000000 $(test_oid znd1) $(test_oid zero) D Z/ND
|
||||
:100644 100644 $(test_oid znm1) $(test_oid znm2) M Z/NM
|
||||
EOF
|
||||
|
||||
cmp_diff_files_output () {
|
||||
|
@ -14,6 +14,7 @@ test_expect_success \
|
||||
'cat "$TEST_DIRECTORY"/diff-lib/COPYING >COPYING &&
|
||||
echo frotz >rezrov &&
|
||||
git update-index --add COPYING rezrov &&
|
||||
orig=$(git hash-object COPYING) &&
|
||||
tree=$(git write-tree) &&
|
||||
echo $tree'
|
||||
|
||||
@ -22,6 +23,8 @@ test_expect_success \
|
||||
'sed -e 's/HOWEVER/However/' <COPYING >COPYING.1 &&
|
||||
sed -e 's/GPL/G.P.L/g' <COPYING >COPYING.2 &&
|
||||
rm -f COPYING &&
|
||||
c1=$(git hash-object COPYING.1) &&
|
||||
c2=$(git hash-object COPYING.2) &&
|
||||
git update-index --add --remove COPYING COPYING.?'
|
||||
|
||||
# tree has COPYING and rezrov. work tree has COPYING.1 and COPYING.2,
|
||||
@ -31,11 +34,11 @@ test_expect_success \
|
||||
|
||||
git diff-index -z -C $tree >current
|
||||
|
||||
cat >expected <<\EOF
|
||||
:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 0603b3238a076dc6c8022aedc6648fa523a17178 C1234
|
||||
cat >expected <<EOF
|
||||
:100644 100644 $orig $c1 C1234
|
||||
COPYING
|
||||
COPYING.1
|
||||
:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 06c67961bbaed34a127f76d261f4c0bf73eda471 R1234
|
||||
:100644 100644 $orig $c2 R1234
|
||||
COPYING
|
||||
COPYING.2
|
||||
EOF
|
||||
@ -57,10 +60,10 @@ test_expect_success \
|
||||
# about rezrov.
|
||||
|
||||
git diff-index -z -C $tree >current
|
||||
cat >expected <<\EOF
|
||||
:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 06c67961bbaed34a127f76d261f4c0bf73eda471 M
|
||||
cat >expected <<EOF
|
||||
:100644 100644 $orig $c2 M
|
||||
COPYING
|
||||
:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 0603b3238a076dc6c8022aedc6648fa523a17178 C1234
|
||||
:100644 100644 $orig $c1 C1234
|
||||
COPYING
|
||||
COPYING.1
|
||||
EOF
|
||||
@ -82,8 +85,8 @@ test_expect_success \
|
||||
git update-index --add --remove COPYING COPYING.1'
|
||||
|
||||
git diff-index -z -C --find-copies-harder $tree >current
|
||||
cat >expected <<\EOF
|
||||
:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 0603b3238a076dc6c8022aedc6648fa523a17178 C1234
|
||||
cat >expected <<EOF
|
||||
:100644 100644 $orig $c1 C1234
|
||||
COPYING
|
||||
COPYING.1
|
||||
EOF
|
||||
|
Loading…
Reference in New Issue
Block a user