Skip to content

Commit d62607d

Browse files
bk2204gitster
authored andcommitted
t7102: abstract away SHA-1-specific constants
Adjust the test so that it computes variables for object IDs instead of using hard-coded hashes. Signed-off-by: brian m. carlson <[email protected]> Reviewed-by: Eric Sunshine <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent d482c23 commit d62607d

File tree

1 file changed

+53
-40
lines changed

1 file changed

+53
-40
lines changed

t/t7102-reset.sh

Lines changed: 53 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -37,17 +37,23 @@ test_expect_success 'creating initial files and commits' '
3737
3838
echo "2nd line 1st file" >>first &&
3939
git commit -a -m "modify 1st file" &&
40+
head5p2=$(git rev-parse --verify HEAD) &&
41+
head5p2f=$(git rev-parse --short HEAD:first) &&
4042
4143
git rm first &&
4244
git mv second secondfile &&
4345
git commit -a -m "remove 1st and rename 2nd" &&
46+
head5p1=$(git rev-parse --verify HEAD) &&
47+
head5p1s=$(git rev-parse --short HEAD:secondfile) &&
4448
4549
echo "1st line 2nd file" >secondfile &&
4650
echo "2nd line 2nd file" >>secondfile &&
4751
# "git commit -m" would break MinGW, as Windows refuse to pass
4852
# $test_encoding encoded parameter to git.
4953
commit_msg $test_encoding | git -c "i18n.commitEncoding=$test_encoding" commit -a -F - &&
50-
head5=$(git rev-parse --verify HEAD)
54+
head5=$(git rev-parse --verify HEAD) &&
55+
head5s=$(git rev-parse --short HEAD:secondfile) &&
56+
head5sl=$(git rev-parse HEAD:secondfile)
5157
'
5258
# git log --pretty=oneline # to see those SHA1 involved
5359

@@ -94,7 +100,7 @@ test_expect_success 'giving a non existing revision should fail' '
94100

95101
test_expect_success 'reset --soft with unmerged index should fail' '
96102
touch .git/MERGE_HEAD &&
97-
echo "100644 44c5b5884550c17758737edcced463447b91d42b 1 un" |
103+
echo "100644 $head5sl 1 un" |
98104
git update-index --index-info &&
99105
test_must_fail git reset --soft HEAD &&
100106
rm .git/MERGE_HEAD &&
@@ -192,7 +198,7 @@ test_expect_success \
192198
>.diff_expect
193199
cat >.cached_expect <<EOF
194200
diff --git a/secondfile b/secondfile
195-
index 1bbba79..44c5b58 100644
201+
index $head5p1s..$head5s 100644
196202
--- a/secondfile
197203
+++ b/secondfile
198204
@@ -1 +1,2 @@
@@ -207,7 +213,7 @@ secondfile:
207213
EOF
208214
test_expect_success '--soft reset only should show changes in diff --cached' '
209215
git reset --soft HEAD^ &&
210-
check_changes d1a4bc3abce4829628ae2dcb0d60ef3d1a78b1c4 &&
216+
check_changes $head5p1 &&
211217
test "$(git rev-parse ORIG_HEAD)" = \
212218
$head5
213219
'
@@ -242,7 +248,7 @@ EOF
242248
test_expect_success \
243249
'--hard reset should change the files and undo commits permanently' '
244250
git reset --hard HEAD~2 &&
245-
check_changes ddaefe00f1da16864591c61fdc7adb5d7cd6b74e &&
251+
check_changes $head5p2 &&
246252
test "$(git rev-parse ORIG_HEAD)" = \
247253
$head4
248254
'
@@ -251,22 +257,22 @@ test_expect_success \
251257
cat >.cached_expect <<EOF
252258
diff --git a/first b/first
253259
deleted file mode 100644
254-
index 8206c22..0000000
260+
index $head5p2f..0000000
255261
--- a/first
256262
+++ /dev/null
257263
@@ -1,2 +0,0 @@
258264
-1st file
259265
-2nd line 1st file
260266
diff --git a/second b/second
261267
deleted file mode 100644
262-
index 1bbba79..0000000
268+
index $head5p1s..0000000
263269
--- a/second
264270
+++ /dev/null
265271
@@ -1 +0,0 @@
266272
-2nd file
267273
diff --git a/secondfile b/secondfile
268274
new file mode 100644
269-
index 0000000..44c5b58
275+
index 0000000..$head5s
270276
--- /dev/null
271277
+++ b/secondfile
272278
@@ -0,0 +1,2 @@
@@ -286,21 +292,21 @@ test_expect_success \
286292
echo "1st line 2nd file" >secondfile &&
287293
echo "2nd line 2nd file" >>secondfile &&
288294
git add secondfile &&
289-
check_changes ddaefe00f1da16864591c61fdc7adb5d7cd6b74e
295+
check_changes $head5p2
290296
'
291297

292298
cat >.diff_expect <<EOF
293299
diff --git a/first b/first
294300
deleted file mode 100644
295-
index 8206c22..0000000
301+
index $head5p2f..0000000
296302
--- a/first
297303
+++ /dev/null
298304
@@ -1,2 +0,0 @@
299305
-1st file
300306
-2nd line 1st file
301307
diff --git a/second b/second
302308
deleted file mode 100644
303-
index 1bbba79..0000000
309+
index $head5p1s..0000000
304310
--- a/second
305311
+++ /dev/null
306312
@@ -1 +0,0 @@
@@ -314,9 +320,8 @@ secondfile:
314320
EOF
315321
test_expect_success '--mixed reset to HEAD should unadd the files' '
316322
git reset &&
317-
check_changes ddaefe00f1da16864591c61fdc7adb5d7cd6b74e &&
318-
test "$(git rev-parse ORIG_HEAD)" = \
319-
ddaefe00f1da16864591c61fdc7adb5d7cd6b74e
323+
check_changes $head5p2 &&
324+
test "$(git rev-parse ORIG_HEAD)" = $head5p2
320325
'
321326

322327
>.diff_expect
@@ -328,7 +333,7 @@ secondfile:
328333
EOF
329334
test_expect_success 'redoing the last two commits should succeed' '
330335
git add secondfile &&
331-
git reset --hard ddaefe00f1da16864591c61fdc7adb5d7cd6b74e &&
336+
git reset --hard $head5p2 &&
332337
333338
git rm first &&
334339
git mv second secondfile &&
@@ -389,47 +394,55 @@ test_expect_success \
389394
check_changes $head5
390395
'
391396

392-
cat > expect << EOF
393-
diff --git a/file1 b/file1
394-
index d00491f..7ed6ff8 100644
395-
--- a/file1
396-
+++ b/file1
397-
@@ -1 +1 @@
398-
-1
399-
+5
400-
diff --git a/file2 b/file2
401-
deleted file mode 100644
402-
index 0cfbf08..0000000
403-
--- a/file2
404-
+++ /dev/null
405-
@@ -1 +0,0 @@
406-
-2
407-
EOF
408-
cat > cached_expect << EOF
409-
diff --git a/file4 b/file4
410-
new file mode 100644
411-
index 0000000..b8626c4
412-
--- /dev/null
413-
+++ b/file4
414-
@@ -0,0 +1 @@
415-
+4
416-
EOF
417397
test_expect_success 'test --mixed <paths>' '
418398
echo 1 > file1 &&
419399
echo 2 > file2 &&
420400
git add file1 file2 &&
421401
test_tick &&
422402
git commit -m files &&
403+
before1=$(git rev-parse --short HEAD:file1) &&
404+
before2=$(git rev-parse --short HEAD:file2) &&
423405
git rm file2 &&
424406
echo 3 > file3 &&
425407
echo 4 > file4 &&
426408
echo 5 > file1 &&
409+
after1=$(git rev-parse --short $(git hash-object file1)) &&
410+
after4=$(git rev-parse --short $(git hash-object file4)) &&
427411
git add file1 file3 file4 &&
428412
git reset HEAD -- file1 file2 file3 &&
429413
test_must_fail git diff --quiet &&
430414
git diff > output &&
415+
416+
cat > expect <<-EOF &&
417+
diff --git a/file1 b/file1
418+
index $before1..$after1 100644
419+
--- a/file1
420+
+++ b/file1
421+
@@ -1 +1 @@
422+
-1
423+
+5
424+
diff --git a/file2 b/file2
425+
deleted file mode 100644
426+
index $before2..0000000
427+
--- a/file2
428+
+++ /dev/null
429+
@@ -1 +0,0 @@
430+
-2
431+
EOF
432+
431433
test_cmp expect output &&
432434
git diff --cached > output &&
435+
436+
cat > cached_expect <<-EOF &&
437+
diff --git a/file4 b/file4
438+
new file mode 100644
439+
index 0000000..$after4
440+
--- /dev/null
441+
+++ b/file4
442+
@@ -0,0 +1 @@
443+
+4
444+
EOF
445+
433446
test_cmp cached_expect output
434447
'
435448

0 commit comments

Comments
 (0)