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

Re: [PATCH v2 00/19] object_id part 6

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Feb 17, 2017, 21:45 UTC
Message-ID
<20170217214513.giua5ksuiqqs2laj@genre.crustytoothpaste.net>
In-Reply-To
<3644df30-71e2-584b-ebed-ae117a5ded3f@alum.mit.edu>
On Fri, Feb 17, 2017 at 10:55:03AM +0100, Michael Haggerty wrote:
Show 25 quoted lines
> On 02/14/2017 03:31 AM, brian m. carlson wrote:
> > This is another series in the continuing conversion to struct object_id.
> > 
> > This series converts more of the builtin directory and some of the refs
> > code to use struct object_id. Additionally, it implements an
> > nth_packed_object_oid function which provides a struct object_id version
> > of the nth_packed_object function, and a parse_oid_hex function that
> > makes parsing easier.
> > 
> > The patch to use parse_oid_hex in the refs code has been split out into
> > its own patch, just because I'm wary of that code and potentially
> > breaking things, and I want it to be easy to revert in case things go
> > wrong.  I have no reason to believe it is anything other than fully
> > functional, however.
> > 
> > Changes from v1:
> > * Implement parse_oid_hex and use it.
> > * Make nth_packed_object_oid take a variable into which to store the
> >   object ID.  This avoids concerns about unsafe casts.
> > * Rebase on master.
> 
> Thanks as always for working on this!
> 
> I skimmed over the patches (looking more carefully at the refs-related
> ones) and left a few minor comments but didn't find anything serious.
I'll send out a new series shortly with those changes.
> I'm curious; what fraction of the overall convert-to-object_id campaign
> do you estimate is done so far? Are you getting close to the promised
> land yet?

So I think that the current scope left is best estimated by the following command:

  git grep -P 'unsigned char\s+(\*|.*20)' | grep -v '^Documentation'

So there are approximately 1200 call sites left, which is quite a bit of work. I estimate between the work I've done and other people's refactoring work (such as the refs backend refactor), we're about 40% done.

I'm hoping to send out more smaller series in the future, since running make test on a huge series takes a long time.

Part of the problem is that some places are almost completely convertible, except for one or two components that rely on something like sha1_array. I have patches somewhere that convert that to oid_array, but I'm not sure how well they'll be received at this point. I think converting a lot of shallow-related code requires that conversion, though.

-- 
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | https://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: https://keybase.io/bk2204
Previous: Michael Haggerty
Message 26 of 26 in “object_id part 6”
  1. 00/19 object_id part 6brian m. carlson, Feb 14, 2017
  2. 03/19 builtin/describe: convert to struct object_idbrian m. carlson, Feb 14, 2017
  3. 16/19 sha1_file: introduce an nth_packed_object_oid functionbrian m. carlson, Feb 14, 2017
  4. 11/19 builtin/replace: convert to struct object_idbrian m. carlson, Feb 14, 2017
  5. Michael HaggertyFeb 17, 2017
  6. 10/19 Convert remaining callers of resolve_refdup to object_idbrian m. carlson, Feb 14, 2017
  7. 09/19 builtin/merge: convert to struct object_idbrian m. carlson, Feb 14, 2017
  8. 08/19 builtin/clone: convert to struct object_idbrian m. carlson, Feb 14, 2017
  9. 13/19 refs: convert each_reflog_ent_fn to struct object_idbrian m. carlson, Feb 14, 2017
  10. 06/19 builtin/grep: convert to struct object_idbrian m. carlson, Feb 14, 2017
  11. 15/19 refs: simplify parsing of reflog entriesbrian m. carlson, Feb 14, 2017
  12. Michael HaggertyFeb 17, 2017
  13. 12/19 reflog-walk: convert struct reflog_info to struct object_idbrian m. carlson, Feb 14, 2017
  14. 14/19 hex: introduce parse_oid_hexbrian m. carlson, Feb 14, 2017
  15. Michael HaggertyFeb 17, 2017
  16. 17/19 Convert object iteration callbacks to struct object_idbrian m. carlson, Feb 14, 2017
  17. 19/19 wt-status: convert to struct object_idbrian m. carlson, Feb 14, 2017
  18. 18/19 builtin/merge-base: convert to struct object_idbrian m. carlson, Feb 14, 2017
  19. 07/19 builtin/branch: convert to struct object_idbrian m. carlson, Feb 14, 2017
  20. 05/19 builtin/fmt-merge-message: convert to struct object_idbrian m. carlson, Feb 14, 2017
  21. 01/19 builtin/commit: convert to struct object_idbrian m. carlson, Feb 14, 2017
  22. 04/19 builtin/fast-export: convert to struct object_idbrian m. carlson, Feb 14, 2017
  23. 02/19 builtin/diff-tree: convert to struct object_idbrian m. carlson, Feb 14, 2017
  24. Junio C HamanoFeb 14, 2017
  25. Michael HaggertyFeb 17, 2017
  26. brian m. carlsonFeb 17, 2017

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.