Catch failures from t5540-http-push
[gitweb.git] / builtin-reflog.c
index 280e24e1514f2989b571acc768d7067cbb223933..b151e24ff94e06840db7e57014fe4a73ea811575 100644 (file)
@@ -307,6 +307,8 @@ static int expire_reflog(const char *ref, const unsigned char *sha1, int unused,
                        unlink(newlog_path);
                } else if (cmd->updateref && commit_ref(lock)) {
                        status |= error("Couldn't set %s", lock->ref_name);
+               } else {
+                       adjust_shared_perm(log_file);
                }
        }
        free(newlog_path);
@@ -329,7 +331,7 @@ static int collect_reflog(const char *ref, const unsigned char *sha1, int unused
        return 0;
 }
 
-static int reflog_expire_config(const char *var, const char *value)
+static int reflog_expire_config(const char *var, const char *value, void *cb)
 {
        if (!strcmp(var, "gc.reflogexpire")) {
                if (!value)
@@ -343,7 +345,7 @@ static int reflog_expire_config(const char *var, const char *value)
                default_reflog_expire_unreachable = approxidate(value);
                return 0;
        }
-       return git_default_config(var, value);
+       return git_default_config(var, value, cb);
 }
 
 static int cmd_reflog_expire(int argc, const char **argv, const char *prefix)
@@ -352,7 +354,7 @@ static int cmd_reflog_expire(int argc, const char **argv, const char *prefix)
        unsigned long now = time(NULL);
        int i, status, do_all;
 
-       git_config(reflog_expire_config);
+       git_config(reflog_expire_config, NULL);
 
        save_commit_buffer = 0;
        do_all = status = 0;