Code

Merge branch 'maint'
[git.git] / builtin-gc.c
index 53a0d43b679889dd8659fa6bdd6007f2a5967cc5..781df601c5f95e874297e0e8bec3fddeb929cc2d 100644 (file)
@@ -26,7 +26,7 @@ static int pack_refs = 1;
 static int aggressive_window = -1;
 static int gc_auto_threshold = 6700;
 static int gc_auto_pack_limit = 50;
-static char *prune_expire = "2.weeks.ago";
+static const char *prune_expire = "2.weeks.ago";
 
 #define MAX_ADD 10
 static const char *argv_pack_refs[] = {"pack-refs", "--all", "--prune", NULL};
@@ -57,15 +57,12 @@ static int gc_config(const char *var, const char *value, void *cb)
                return 0;
        }
        if (!strcmp(var, "gc.pruneexpire")) {
-               if (!value)
-                       return config_error_nonbool(var);
-               if (strcmp(value, "now")) {
+               if (value && strcmp(value, "now")) {
                        unsigned long now = approxidate("now");
                        if (approxidate(value) >= now)
                                return error("Invalid %s: '%s'", var, value);
                }
-               prune_expire = xstrdup(value);
-               return 0;
+               return git_config_string(&prune_expire, var, value);
        }
        return git_default_config(var, value, cb);
 }