On Fri, Feb 17, 2017 at 10:55:03AM +0100, Michael Haggerty wrote: > 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
Attachment:
signature.asc
Description: PGP signature