refs: break out check for reflog autocreation
authorDavid Turner <dturner@twopensource.com>
Tue, 21 Jul 2015 21:04:51 +0000 (17:04 -0400)
committerJunio C Hamano <gitster@pobox.com>
Tue, 21 Jul 2015 21:07:54 +0000 (14:07 -0700)
This is just for clarity.

Signed-off-by: David Turner <dturner@twopensource.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs.c
diff --git a/refs.c b/refs.c
index 65c32aef01932e0ec7694e4272bb00d91c9b6cef..f5dbf01e1e67f7767938833286c37f90667b82a3 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -3053,6 +3053,16 @@ static int copy_msg(char *buf, const char *msg)
        return cp - buf;
 }
 
+static int should_autocreate_reflog(const char *refname)
+{
+       if (!log_all_ref_updates)
+               return 0;
+       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)
 {
@@ -3063,11 +3073,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 (should_autocreate_reflog(refname)) {
                if (safe_create_leading_directories(logfile) < 0) {
                        strbuf_addf(err, "unable to create directory for %s: "
                                    "%s", logfile, strerror(errno));