Re: [PATCH v2 08/27] revisions API users: use release_revisions() needing "{ 0 }" init
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Mar 24, 2022, 17:04 UTC
- Message-ID
- <220324.868rszmga6.gmgdl@evledraar.gmail.com>
- In-Reply-To
- <xmqqy210kl3i.fsf@gitster.g>
On Wed, Mar 23 2022, Junio C Hamano wrote:
Show 10 quoted lines
> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes: > >> Use release_revisions() to various users of "struct rev_list" which >> need to have their "struct rev_info" zero-initialized before we can >> start using it. In all of these cases we might "goto cleanup" (or equivalent), > > I didn't look at the bisect code, but the bundle one looks iffy from > the point of view of API cleanliness. If we have not yet called > repo_init_revisions() on a revs, we should refrain from calling > release_revisions() on it in the first place, no?
It could be avoided, but I'd really prefer not to for this series.
repo_init_revisions() is a non-trivial function, and changing the various bits in this series that can easily have a "goto" pattern because we assume that { 0 }-init'd is safe to pass to release_revisions() would be a larger change...
We assume that in a lot of other destructors throughout the codebase, I figured we could leave this for later.
Is that OK with you?