Subject: Re: [PATCH v2 05/27] revision.[ch]: split freeing of revs->commit into a function

From: Junio C Hamano <[email-masked]>
Date: Wed, 23 Mar 2022 21:33:07 -0700

Ævar Arnfjörð Bjarmason  <[email-masked]> writes:

> +static void release_revisions_commit_list(struct rev_info *revs)
> +{
> +	struct commit_list *commits = revs->commits;
> +
> +	if (!commits)
> +		return;
> +	free_commit_list(commits);
> +	revs->commits = NULL;
> +}

It makes sense to have this as a separate helper, but the original
implementation this was lifted from is much easier to follow than
this version with an unnecessary rewrite, I would think.

> @@ -4080,10 +4090,7 @@ static void create_boundary_commit_list(struct rev_info *revs)
>  	 * boundary commits anyway.  (This is what the code has always
>  	 * done.)
>  	 */
> -	if (revs->commits) {
> -		free_commit_list(revs->commits);
> -		revs->commits = NULL;
> -	}
> +	release_revisions_commit_list(revs);

IOW

static void release_revisions_commit_list(struct rev_info *revs)
{
	if (revs->commits) {
		free_commit_list(revs->commits);
		revs->commits = NULL;
	}
}