On Sun, Aug 19, 2018 at 1:54 PM brian m. carlson
<sand...@crustytoothpaste.net> wrote:
> If the hash we're using is 32 bytes in size, attempting to insert a
> 20-byte object name won't work.  Since these are synthesized objects
> that are almost all zeros, look them up in a translation table.
>
> Signed-off-by: brian m. carlson <sand...@crustytoothpaste.net>
> ---
> diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh
> @@ -1007,12 +1007,13 @@ test_expect_success SHA1 'validate object ID for a 
> known tree' '
>  test_expect_success 'put invalid objects into the index' '
>         rm -f .git/index &&
> -       [...]
> +       suffix=$(echo $ZERO_OID | sed -e "s/^.//") &&

What's this "suffix" thing for? I don't see it used anywhere.

> +       cat >badobjects <<-EOF &&
> +       100644 blob $(test_oid 001)     dir/file1
> +       100644 blob $(test_oid 002)     dir/file2
> +       100644 blob $(test_oid 003)     dir/file3
> +       100644 blob $(test_oid 004)     dir/file4
> +       100644 blob $(test_oid 005)     dir/file5

So, test_oid() knows about these keys because the patch 1/11 loaded
them via test_oid_cache(). Are the keys in oid-info/hash-info and
oid-info/oid going to be needed by multiple scripts? If so, I'm
wondering if it would make more sense to have test-lib-functions.sh
load them instead of expecting each script to do so. Another
possibility is to have a test_oid_init() function in
test-lib-functions.sh which both loads that low-level information and
initializes the hash algorithm.

>         EOF
>         git update-index --index-info <badobjects
>  '

Reply via email to