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

Re: [PATCH v3 00/36] object_id part 12

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 14, 2018, 16:48 UTC
Message-ID
<xmqqtvtizjq9.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<20180312022756.483934-1-sandals@crustytoothpaste.net>
"brian m. carlson" <sandals@crustytoothpaste.net> writes:
Show 51 quoted lines
> This is the twelfth in a series of patches to convert various parts of
> the code to struct object_id.
>
> Changes from v2:
> * Rebase onto master (to fix "typename" → "type_name" changes).
> * Replace some uses of hashcpy with memcpy.
> * Replace some instances of "20" with references to the_hash_algo.
>
> Changes from v1:
> * Rebase onto master.
>
> tbdiff output below.
>
> brian m. carlson (36):
>   bulk-checkin: convert index_bulk_checkin to struct object_id
>   builtin/write-tree: convert to struct object_id
>   cache-tree: convert write_*_as_tree to object_id
>   cache-tree: convert remnants to struct object_id
>   resolve-undo: convert struct resolve_undo_info to object_id
>   tree: convert read_tree_recursive to struct object_id
>   ref-filter: convert grab_objectname to struct object_id
>   strbuf: convert strbuf_add_unique_abbrev to use struct object_id
>   wt-status: convert struct wt_status_state to object_id
>   Convert find_unique_abbrev* to struct object_id
>   http-walker: convert struct object_request to use struct object_id
>   send-pack: convert remaining functions to struct object_id
>   replace_object: convert struct replace_object to object_id
>   builtin/mktag: convert to struct object_id
>   archive: convert write_archive_entry_fn_t to object_id
>   archive: convert sha1_file_to_archive to struct object_id
>   builtin/index-pack: convert struct ref_delta_entry to object_id
>   sha1_file: convert read_loose_object to use struct object_id
>   sha1_file: convert check_sha1_signature to struct object_id
>   streaming: convert open_istream to use struct object_id
>   builtin/mktree: convert to struct object_id
>   sha1_file: convert assert_sha1_type to object_id
>   sha1_file: convert retry_bad_packed_offset to struct object_id
>   packfile: convert unpack_entry to struct object_id
>   Convert remaining callers of sha1_object_info_extended to object_id
>   sha1_file: convert sha1_object_info* to object_id
>   builtin/fmt-merge-msg: convert remaining code to object_id
>   builtin/notes: convert static functions to object_id
>   tree-walk: convert get_tree_entry_follow_symlinks internals to
>     object_id
>   streaming: convert istream internals to struct object_id
>   tree-walk: convert tree entry functions to object_id
>   sha1_file: convert read_object_with_reference to object_id
>   sha1_file: convert read_sha1_file to struct object_id
>   Convert lookup_replace_object to struct object_id
>   sha1_file: introduce a constant for max header length
>   convert: convert to struct object_id
As always, thanks for working on this.  
After this series, what jumps at me out of output from
    git grep -e '[^0-9A-Za-z_][24]0[^0-9A-Za-z_]' -- '*.[ch]' \
		':!*sha1*' ':!contrib/' ':!compat/'

are code that parses the incoming patch in apply.c (where the full blob object names used for binary patches are assumed to be in SHA-1), builtin/pack-objects.c (where it has to know the current file format of a packfile intimately) and diff.c (where it clips the length to which the blob object names on the "index" lines are abbreviated to). Changing 40 in the last one to "the hex length of the currently deployed hash" should be relatively uncontroversial.

Previous: brian m. carlsonNext: Junio C Hamano
Message 38 of 42 in “object_id part 12”
  1. 00/36 object_id part 12brian m. carlson, Mar 12, 2018
  2. 01/36 bulk-checkin: convert index_bulk_checkin to struct object_idbrian m. carlson, Mar 12, 2018
  3. 03/36 cache-tree: convert write_*_as_tree to object_idbrian m. carlson, Mar 12, 2018
  4. 04/36 cache-tree: convert remnants to struct object_idbrian m. carlson, Mar 12, 2018
  5. 06/36 tree: convert read_tree_recursive to struct object_idbrian m. carlson, Mar 12, 2018
  6. 08/36 strbuf: convert strbuf_add_unique_abbrev to use struct object_idbrian m. carlson, Mar 12, 2018
  7. 07/36 ref-filter: convert grab_objectname to struct object_idbrian m. carlson, Mar 12, 2018
  8. 13/36 replace_object: convert struct replace_object to object_idbrian m. carlson, Mar 12, 2018
  9. 16/36 archive: convert sha1_file_to_archive to struct object_idbrian m. carlson, Mar 12, 2018
  10. 20/36 streaming: convert open_istream to use struct object_idbrian m. carlson, Mar 12, 2018
  11. 22/36 sha1_file: convert assert_sha1_type to object_idbrian m. carlson, Mar 12, 2018
  12. 23/36 sha1_file: convert retry_bad_packed_offset to struct object_idbrian m. carlson, Mar 12, 2018
  13. 25/36 Convert remaining callers of sha1_object_info_extended to object_idbrian m. carlson, Mar 12, 2018
  14. 27/36 builtin/fmt-merge-msg: convert remaining code to object_idbrian m. carlson, Mar 12, 2018
  15. 30/36 streaming: convert istream internals to struct object_idbrian m. carlson, Mar 12, 2018
  16. 26/36 sha1_file: convert sha1_object_info* to object_idbrian m. carlson, Mar 12, 2018
  17. 28/36 builtin/notes: convert static functions to object_idbrian m. carlson, Mar 12, 2018
  18. 34/36 Convert lookup_replace_object to struct object_idbrian m. carlson, Mar 12, 2018
  19. 33/36 sha1_file: convert read_sha1_file to struct object_idbrian m. carlson, Mar 12, 2018
  20. 36/36 convert: convert to struct object_idbrian m. carlson, Mar 12, 2018
  21. 29/36 tree-walk: convert get_tree_entry_follow_symlinks internals to object_idbrian m. carlson, Mar 12, 2018
  22. 32/36 sha1_file: convert read_object_with_reference to object_idbrian m. carlson, Mar 12, 2018
  23. 35/36 sha1_file: introduce a constant for max header lengthbrian m. carlson, Mar 12, 2018
  24. 24/36 packfile: convert unpack_entry to struct object_idbrian m. carlson, Mar 12, 2018
  25. 31/36 tree-walk: convert tree entry functions to object_idbrian m. carlson, Mar 12, 2018
  26. 19/36 sha1_file: convert check_sha1_signature to struct object_idbrian m. carlson, Mar 12, 2018
  27. 21/36 builtin/mktree: convert to struct object_idbrian m. carlson, Mar 12, 2018
  28. 14/36 builtin/mktag: convert to struct object_idbrian m. carlson, Mar 12, 2018
  29. 18/36 sha1_file: convert read_loose_object to use struct object_idbrian m. carlson, Mar 12, 2018
  30. 12/36 send-pack: convert remaining functions to struct object_idbrian m. carlson, Mar 12, 2018
  31. 15/36 archive: convert write_archive_entry_fn_t to object_idbrian m. carlson, Mar 12, 2018
  32. 17/36 builtin/index-pack: convert struct ref_delta_entry to object_idbrian m. carlson, Mar 12, 2018
  33. 09/36 wt-status: convert struct wt_status_state to object_idbrian m. carlson, Mar 12, 2018
  34. 11/36 http-walker: convert struct object_request to use struct object_idbrian m. carlson, Mar 12, 2018
  35. 05/36 resolve-undo: convert struct resolve_undo_info to object_idbrian m. carlson, Mar 12, 2018
  36. 10/36 Convert find_unique_abbrev* to struct object_idbrian m. carlson, Mar 12, 2018
  37. 02/36 builtin/write-tree: convert to struct object_idbrian m. carlson, Mar 12, 2018
  38. Junio C HamanoMar 14, 2018
  39. Junio C HamanoMar 14, 2018
  40. brian m. carlsonMar 15, 2018
  41. Junio C HamanoMar 14, 2018
  42. brian m. carlsonMar 15, 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.