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