Re: [PATCH v2 02/11] t0000: use hash translation table
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Aug 19, 2018, 19:54 UTC
- Message-ID
- <CAPig+cTmSN3CGGW0ws2K-CHrvVon4W+iFS_MdTxSY-TP6OUh1Q@mail.gmail.com>
- In-Reply-To
- <20180819175351.449973-3-sandals@crustytoothpaste.net>
On Sun, Aug 19, 2018 at 1:54 PM brian m. carlson <sandals@crustytoothpaste.net> wrote:
Show 12 quoted lines
> 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 <sandals@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.
Show 6 quoted lines
> + 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 > '