Re: [PATCH] tag: add tag.createReflog option
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 25, 2017, 22:56 UTC
- Message-ID
- <xmqqy3xy7nq0.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <xmqqpoja95o5.fsf@gitster.mtv.corp.google.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 29 quoted lines
> Jeff King <peff@peff.net> writes:
>
>> +enum log_refs_config {
>> + LOG_REFS_UNSET = -1,
>> + LOG_REFS_NONE = 0,
>> + LOG_REFS_NORMAL, /* see should_create_reflog for rules */
>> + LOG_REFS_ALWAYS
>> +};
>> +extern enum log_refs_config log_all_ref_updates;
>> +...
>> +int should_create_reflog(const char *refname)
>> +{
>> + switch (log_all_ref_updates) {
>> + case LOG_REFS_ALWAYS:
>> + return 1;
>> + case LOG_REFS_NORMAL:
>> + return !prefixcmp(refname, "refs/heads/") ||
>> + !prefixcmp(refname, "refs/remotes/") ||
>> + !prefixcmp(refname, "refs/notes/") ||
>> + !strcmp(refname, "HEAD");
>> + default:
>> + return 0;
>> + }
>> +}
>
> Yup, this is how I expected for the feature to be done.
>
> Just a hint for Cornelius; prefixcmp() is an old name for what is
> called starts_with() these days.It may have been obvious, but to be explicit for somebody new, !prefixcmp() corresponds to starts_with(). IOW, we changed the meaning of the return value when moving from cmp-lookalike (where 0 means "equal") to "does it start with this string?" bool (where 1 means "yes").