summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Turner <dturner@twopensource.com>2015-07-21 17:04:51 -0400
committerJunio C Hamano <gitster@pobox.com>2015-07-21 14:07:54 -0700
commit4e2bef57c9629ef869091d9ad41dc6d09528a662 (patch)
tree44c6f668fdb18166e3c8db5989badbd2621f92f3
parenta4c653dfcd05c987028b847092a1ee7e5d86a596 (diff)
downloadgit-4e2bef57c9629ef869091d9ad41dc6d09528a662.tar.gz
refs: break out check for reflog autocreation
This is just for clarity. Signed-off-by: David Turner <dturner@twopensource.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--refs.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/refs.c b/refs.c
index 65c32aef01..f5dbf01e1e 100644
--- 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));