-rw-r--r-- | cgit.c | 3 | ||||
-rw-r--r-- | cgit.h | 2 | ||||
-rw-r--r-- | cgitrc | 5 | ||||
-rw-r--r-- | shared.c | 6 | ||||
-rw-r--r-- | ui-commit.c | 2 |
5 files changed, 17 insertions, 1 deletions
@@ -81,3 +81,4 @@ static void cgit_print_repo_page(struct cacheitem *item) - if (cgit_query_page && !strcmp(cgit_query_page, "snapshot")) { + if (cgit_repo->snapshots && cgit_query_page && + !strcmp(cgit_query_page, "snapshot")) { cgit_print_snapshot(item, cgit_query_sha1, "zip", @@ -23,2 +23,3 @@ struct repoinfo { char *owner; + int snapshots; }; @@ -63,2 +64,3 @@ extern char *cgit_cache_root; extern int cgit_nocache; +extern int cgit_snapshots; extern int cgit_max_lock_attempts; @@ -10,2 +10,6 @@ +## Enable/disable snapshots by default. This can be overridden per repo +#snapshots=0 + + ## Specify a root for virtual urls. This makes cgit generate urls like @@ -79 +83,2 @@ #repo.owner=Lars Hjemli +#repo.snapshots=1 # override a sitewide snapshot-setting @@ -22,2 +22,3 @@ char *cgit_cache_root = "/var/cache/cgit"; int cgit_nocache = 0; +int cgit_snapshots = 0; int cgit_max_lock_attempts = 5; @@ -85,2 +86,3 @@ struct repoinfo *add_repo(const char *url) ret->owner = NULL; + ret->snapshots = cgit_snapshots; return ret; @@ -102,2 +104,4 @@ void cgit_global_config_cb(const char *name, const char *value) cgit_nocache = atoi(value); + else if (!strcmp(name, "snapshots")) + cgit_snapshots = atoi(value); else if (!strcmp(name, "cache-root")) @@ -124,2 +128,4 @@ void cgit_global_config_cb(const char *name, const char *value) cgit_repo->owner = xstrdup(value); + else if (cgit_repo && !strcmp(name, "repo.snapshots")) + cgit_repo->snapshots = atoi(value); } diff --git a/ui-commit.c b/ui-commit.c index de3f2cf..3618800 100644 --- a/ui-commit.c +++ b/ui-commit.c @@ -171,2 +171,3 @@ void cgit_print_commit(const char *hex) } + if (cgit_repo->snapshots) { htmlf("<tr><th>download</th><td colspan='2' class='sha1'><a href='"); @@ -176,2 +177,3 @@ void cgit_print_commit(const char *hex) htmlf("'>%s</a></td></tr>", filename); + } |