git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
>  '
Previous: brian m. carlsonNext: brian m. carlson
Message 8 of 24 in “Hash-independent tests (part 3)”
  1. 00/11 Hash-independent tests (part 3)brian m. carlson, Aug 19, 2018
  2. 01/11 t: add tool to translate hash-related valuesbrian m. carlson, Aug 19, 2018
  3. Eric SunshineAug 19, 2018
  4. brian m. carlsonAug 19, 2018
  5. Eric SunshineAug 19, 2018
  6. brian m. carlsonAug 19, 2018
  7. 02/11 t0000: use hash translation tablebrian m. carlson, Aug 19, 2018
  8. Eric SunshineAug 19, 2018
  9. 03/11 t0000: update tests for SHA-256brian m. carlson, Aug 19, 2018
  10. Eric SunshineAug 19, 2018
  11. brian m. carlsonAug 19, 2018
  12. 04/11 t0002: abstract away SHA-1 specific constantsbrian m. carlson, Aug 19, 2018
  13. Eric SunshineAug 19, 2018
  14. 05/11 t0027: make hash size independentbrian m. carlson, Aug 19, 2018
  15. Eric SunshineAug 19, 2018
  16. brian m. carlsonAug 19, 2018
  17. Eric SunshineAug 19, 2018
  18. Torsten BögershausenAug 20, 2018
  19. 06/11 t0064: make hash size independentbrian m. carlson, Aug 19, 2018
  20. 07/11 t1006: make hash size independentbrian m. carlson, Aug 19, 2018
  21. 08/11 t1400: switch hard-coded object ID to variablebrian m. carlson, Aug 19, 2018
  22. 09/11 t1405: make hash size independentbrian m. carlson, Aug 19, 2018
  23. 10/11 t1406: make hash-size independentbrian m. carlson, Aug 19, 2018
  24. 11/11 t1407: make hash size independentbrian m. carlson, Aug 19, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.