]> gitweb.ps.run Git - ps-cgit/blobdiff - cgit.c
Add a cache-snapshot-ttl configuration variable
[ps-cgit] / cgit.c
diff --git a/cgit.c b/cgit.c
index ec8f69c26f13dab83b894c661a35fd9740e92ce1..f488ebfa8cefbe8e9ca041c2bf6bee79cd891e92 100644 (file)
--- a/cgit.c
+++ b/cgit.c
@@ -184,6 +184,8 @@ static void config_cb(const char *name, const char *value)
                ctx.cfg.cache_dynamic_ttl = atoi(value);
        else if (!strcmp(name, "cache-about-ttl"))
                ctx.cfg.cache_about_ttl = atoi(value);
+       else if (!strcmp(name, "cache-snapshot-ttl"))
+               ctx.cfg.cache_snapshot_ttl = atoi(value);
        else if (!strcmp(name, "case-sensitive-sort"))
                ctx.cfg.case_sensitive_sort = atoi(value);
        else if (!strcmp(name, "about-filter"))
@@ -331,6 +333,7 @@ static void prepare_context(void)
        ctx.cfg.cache_max_create_time = 5;
        ctx.cfg.cache_root = CGIT_CACHE_ROOT;
        ctx.cfg.cache_about_ttl = 15;
+       ctx.cfg.cache_snapshot_ttl = 5;
        ctx.cfg.cache_repo_ttl = 5;
        ctx.cfg.cache_root_ttl = 5;
        ctx.cfg.cache_scanrc_ttl = 15;
@@ -591,6 +594,7 @@ static int prepare_repo_cmd(void)
                cgit_print_pageheader();
                cgit_print_error("Invalid branch: %s", tmp);
                cgit_print_docend();
+               free(tmp);
                return 1;
        }
        sort_string_list(&ctx.repo->submodules);
@@ -920,6 +924,23 @@ static void cgit_parse_args(int argc, const char **argv)
        int scan = 0;
 
        for (i = 1; i < argc; i++) {
+               if (!strcmp(argv[i], "--version")) {
+                       printf("CGit %s | http://git.zx2c4.com/cgit/\n\nCompiled in features:\n", CGIT_VERSION);
+#ifdef NO_LUA
+                       printf("[-] ");
+#else
+                       printf("[+] ");
+#endif
+                       printf("Lua scripting\n");
+#ifndef HAVE_LINUX_SENDFILE
+                       printf("[-] ");
+#else
+                       printf("[+] ");
+#endif
+                       printf("Linux sendfile() usage\n");
+
+                       exit(0);
+               }
                if (!prefixcmp(argv[i], "--cache=")) {
                        ctx.cfg.cache_root = xstrdup(argv[i] + 8);
                } else if (!strcmp(argv[i], "--nocache")) {
@@ -977,6 +998,9 @@ static int calc_ttl()
        if (!strcmp(ctx.qry.page, "about"))
                return ctx.cfg.cache_about_ttl;
 
+       if (!strcmp(ctx.qry.page, "snapshot"))
+               return ctx.cfg.cache_snapshot_ttl;
+
        if (ctx.qry.has_sha1)
                return ctx.cfg.cache_static_ttl;