t: add helper to convert object IDs to paths
authorbrian m. carlson <sandals@crustytoothpaste.net>
Fri, 28 Jun 2019 22:59:19 +0000 (22:59 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 1 Jul 2019 20:28:18 +0000 (13:28 -0700)
There are several places in our testsuite where we want to insert a
slash after an object ID to make it into a path we can reference under
.git/objects, and we have various ways of doing so. Add a helper to
provide a standard way of doing this that works for all size hashes.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/test-lib-functions.sh
index 0367cec5fde0514274fbd322bce0a58e1438b3e8..786049166035f46772710a15e0c3397732c0525f 100644 (file)
@@ -1334,6 +1334,12 @@ test_oid () {
        eval "printf '%s' \"\${$var}\""
 }
 
+# Insert a slash into an object ID so it can be used to reference a location
+# under ".git/objects".  For example, "deadbeef..." becomes "de/adbeef..".
+test_oid_to_path () {
+       echo "${1%${1#??}}/${1#??}"
+}
+
 # Choose a port number based on the test script's number and store it in
 # the given variable name, unless that variable already contains a number.
 test_set_port () {