Subject: Re: [PATCH v2 06/27] update_refs(): Fix constness

From: Junio C Hamano <[email-masked]>
Date: Mon, 31 Mar 2014 15:38:50 -0700

Michael Haggerty <[email-masked]> writes:

> On 03/31/2014 11:40 PM, Junio C Hamano wrote:
>> Michael Haggerty <[email-masked]> writes:
>> 
>>> Since full const correctness is beyond the ability of C's type system,
>>> just put the const where it doesn't do any harm.  A (struct ref_update
>>> **) can be passed to a (struct ref_update * const *) argument, but not
>>> to a (const struct ref_update **) argument.
>> 
>> Sounds good, but next time please try not to break lines inside a
>> single typename, which is somewhat unreadable ;-)
>> 
>> I'd suggest rewording "s/Fix/tighten/".  Because a patch that
>> changes constness can loosen constness to make things more correct,
>> "git shortlog" output that says if it is tightening or loosening
>> would be more informative than the one that says that it is "fixing".
>
> It is not a strict tightening, because I add a "const" in one place but
> remove it from another:
>
>     const struct ref_update **
>
> becomes
>
>     struct ref_update * const *
>
> in the update_refs() signature.  In fact, the old declaration was too
> strict for some changes later in the patch series, which is why I needed
> to loosen (one aspect) of it.

Interesting.  Then that _is_ a fix.  Thanks for explaining it to
me.  As always, I would prefer it be explained to the proposed
commit log, not to me over an e-mail ;-)