Subject: Re: [PATCH v2 02/11] reftable: consistently pass write opts as value

From: Junio C Hamano <[email-masked]>
Date: Fri, 10 May 2024 14:11:55 -0700

Patrick Steinhardt <[email-masked]> writes:

> We sometimes pass the refatble write options as value and sometimes as a
> pointer. This is quite confusing and makes the reader wonder whether the
> options get modified sometimes.
>
> In fact, `reftable_new_writer()` does cause the caller-provided options
> to get updated when some values aren't set up. This is quite unexpected,
> but didn't cause any harm until now.
>
> Refactor the code to consistently pass the options as a value so that
> they are local to the subsystem they are being passed into so that we
> can avoid weirdness like this.

Turning pass-by-reference to pass-by-value of a large structure is a
rather huge hammer to ensure that the structure is not modified
(qualifying the pointer with "const" is).  Consistency is good, but
I am not sure offhand if this is making things consistent in a good
way.