Nicely described.
Thanks!
"git help cli"; dashed options first and then other arguments.
Applied.
Hmph, is the above a roundabout way to say
git -C explicit-hash-$hash rev-parse one >in &&
Applied.
or am I missing some subtlety?
No, I don't think you are. However, I would like to point out that the code
which I used as the inspiration also does thing the same way:
test_expect_success 'pack-object <stdin parsing: [|--revs] with --stdin' '
cat >in <<-EOF &&
$(git -C pack-object-stdin rev-parse one)
$(git -C pack-object-stdin rev-parse two)
EOF
When this test fails (e.g., the number of lines in the show-index
output is not 1), explicit-hash-$hash is not removed, because &&-
chain short-circuits.
Perhaps join thw two into one and use test_when_finished, like this?
test_expect_success 'show-index with explicit --object-format=$hash outside repo' '
test_when_finished "rm -fr explicit-hash-$hash" &&
git init --object-format=$hash explicit-hash-$hash &&
...
nongit git show-index --object-format=$hash <"$idx" >actual &&
test_line_count 1 actual
'
That makes sense, applied.
Abhijeet Sonar (2):
show-index: fix uninitialized hash function
t5300: add test for 'show-index --object-format'
builtin/show-index.c | 9 +++++++++
t/t5300-pack-object.sh | 18 ++++++++++++++++++
2 files changed, 27 insertions(+)
Range-diff against v5:
1: 05ee1e2ea5 = 1: 05ee1e2ea5 show-index: fix uninitialized hash function
2: c8a28aae55 ! 2: 778f3ca18e t5300: add test for 'show-index --object-format'
@@ t/t5300-pack-object.sh: test_expect_success SHA1 'show-index works OK outside a
+for hash in sha1 sha256
+do
-+ test_expect_success 'setup: show-index works OK outside a repository with hash algo passed in via --object-format' '
-+ git init explicit-hash-$hash --object-format=$hash &&
-+ test_commit -C explicit-hash-$hash one &&
-+
-+ cat >in <<-EOF &&
-+ $(git -C explicit-hash-$hash rev-parse one)
-+ EOF
-+
-+ git -C explicit-hash-$hash pack-objects explicit-hash-$hash <in
-+ '
-+
+ test_expect_success 'show-index works OK outside a repository with hash algo passed in via --object-format' '
++ test_when_finished "rm -rf explicit-hash-$hash" &&
++ git init --object-format=$hash explicit-hash-$hash &&
++ test_commit -C explicit-hash-$hash one &&
++ git -C explicit-hash-$hash rev-parse one >in &&
++ git -C explicit-hash-$hash pack-objects explicit-hash-$hash <in &&
+ idx=$(echo explicit-hash-$hash/explicit-hash-$hash*.idx) &&
+ nongit git show-index --object-format=$hash <"$idx" >actual &&
-+ test_line_count = 1 actual &&
-+
-+ rm -rf explicit-hash-$hash
++ test_line_count = 1 actual
+ '
+done
+
--
2.47.0.107.g34b6ce9b30