Re: [PATCH v3 4/7] refs: Break out check for reflog autocreation
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 26, 2015, 22:01 UTC
- Message-ID
- <xmqqpp4iruxh.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <1435278548-3790-4-git-send-email-dturner@twopensource.com>
David Turner <dturner@twopensource.com> writes:
Show 36 quoted lines
> This is just for clarity.
>
> Signed-off-by: David Turner <dturner@twopensource.com>
> ---
> refs.c | 14 +++++++++-----
> 1 file changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/refs.c b/refs.c
> index b34a54a..dff91cf 100644
> --- a/refs.c
> +++ b/refs.c
> @@ -3118,6 +3118,14 @@ static int copy_msg(char *buf, const char *msg)
> return cp - buf;
> }
>
> +static int should_autocreate_reflog(const char *refname)
> +{
> + return starts_with(refname, "refs/heads/") ||
> + starts_with(refname, "refs/remotes/") ||
> + starts_with(refname, "refs/notes/") ||
> + !strcmp(refname, "HEAD");
> +}
> +
> /* This function will fill in *err and return -1 on failure */
> int log_ref_setup(const char *refname, struct strbuf *sb_logfile, struct strbuf *err)
> {
> @@ -3128,11 +3136,7 @@ int log_ref_setup(const char *refname, struct strbuf *sb_logfile, struct strbuf
> logfile = sb_logfile->buf;
> /* make sure the rest of the function can't change "logfile" */
> sb_logfile = NULL;
> - if (log_all_ref_updates &&
> - (starts_with(refname, "refs/heads/") ||
> - starts_with(refname, "refs/remotes/") ||
> - starts_with(refname, "refs/notes/") ||
> - !strcmp(refname, "HEAD"))) {
> + if (log_all_ref_updates && should_autocreate_reflog(refname)) {This makes me wonder if "log_all_ref_updates &&" part should also be inside the helper. The use of the new helper in 5/7 tells me that it is the case, I would say.
Besides, the answer to the question "should we auto-create reflog?" is "if we are told to log all, and then the thing is one of these, then we should:", so it is natural from the name of the new helper that "log_all_ref_updates &&" should be in there ;-)