Re: [PATCH v2 4/4] commit: rewrite read_graft_line
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 17, 2017, 21:20 UTC
- Message-ID
- <xmqq378pgac1.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <b63b2148b7d79ebe5c57b876c7077a9ac42d2869.1502905085.git.patryk.obara@gmail.com>
Patryk Obara <patryk.obara@gmail.com> writes:
Show 7 quoted lines
> The previous implementation of read_graft_line used calculations based > on GIT_SHA1_RAWSZ and GIT_SHA1_HEXSZ to determine the number of commit > ids in a single graft line. New implementation does not depend on these > constants, so it adapts to any object_id buffer size. > > To make this possible, FLEX_ARRAY of object_id in struct was replaced > by an oid_array.
There is a leap in logic between the two paragraphs. Your use of parse_oid_hex() is good. But I do not think moving the array body to outside commit_graft structure and forcing it to be separately allocated is necessary or beneficial. When we got a single line, we know how many fake parents a child described by that graft line has, and you can still use of FLEX_ARRAY to avoid separate allocation and need for separate freeing of it.