The delete_object helper currently relies on a manual sed command to calculate object paths. This works, but it's a bit brittle and forces us to maintain shell logic that Git's own test suite can already handle more elegantly.
Switch to 'test_oid_to_path' to let Git handle the path logic. This makes the helper hash independent, which is much cleaner than manual string manipulation. While we're at it, add a call to 'test_path_is_file' so that the test fails early and clearly if we try to delete an object that isn't there, rather than failing silently.
Signed-off-by: Siddharth Shrimali <r.siddharth.shrimali@gmail.com> --- t/t0410-partial-clone.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
Show changes to t/t0410-partial-clone.sh +5 −1
diff --git a/t/t0410-partial-clone.sh b/t/t0410-partial-clone.sh index 2a5bdbeeb8..eca113f0f8 100755 --- a/t/t0410-partial-clone.sh +++ b/t/t0410-partial-clone.sh @@ -11,7 +11,11 @@ test_description='partial clone' GIT_TEST_COMMIT_GRAPH=0 delete_object () { - rm $1/.git/objects/$(echo $2 | sed -e 's|^..|&/|') + repo=$1 + obj=$2 + path="$repo/.git/objects/$(test_oid_to_path $obj)" && + test_path_is_file "$path" && + rm "$path" } pack_as_from_promisor () {
-- 2.51.2