show_search = 0;
setenv("GIT_DIR", cgit_repo->path, 1);
- 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",
cgit_repo->url, cgit_query_name);
return;
char *path;
char *desc;
char *owner;
+ int snapshots;
};
struct repolist {
extern char *cgit_cache_root;
extern int cgit_nocache;
+extern int cgit_snapshots;
extern int cgit_max_lock_attempts;
extern int cgit_cache_root_ttl;
extern int cgit_cache_repo_ttl;
#nocache=0
+## 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
##
## http://localhost/git/repo/log/?id=master
#repo.desc=the caching cgi for git
#repo.path=/pub/git/cgit
#repo.owner=Lars Hjemli
+#repo.snapshots=1 # override a sitewide snapshot-setting
char *cgit_cache_root = "/var/cache/cgit";
int cgit_nocache = 0;
+int cgit_snapshots = 0;
int cgit_max_lock_attempts = 5;
int cgit_cache_root_ttl = 5;
int cgit_cache_repo_ttl = 5;
ret->path = NULL;
ret->desc = NULL;
ret->owner = NULL;
+ ret->snapshots = cgit_snapshots;
return ret;
}
cgit_virtual_root = xstrdup(value);
else if (!strcmp(name, "nocache"))
cgit_nocache = atoi(value);
+ else if (!strcmp(name, "snapshots"))
+ cgit_snapshots = atoi(value);
else if (!strcmp(name, "cache-root"))
cgit_cache_root = xstrdup(value);
else if (!strcmp(name, "cache-root-ttl"))
cgit_repo->desc = xstrdup(value);
else if (cgit_repo && !strcmp(name, "repo.owner"))
cgit_repo->owner = xstrdup(value);
+ else if (cgit_repo && !strcmp(name, "repo.snapshots"))
+ cgit_repo->snapshots = atoi(value);
}
void cgit_repo_config_cb(const char *name, const char *value)
htmlf("'>%s</a></td></tr>\n",
sha1_to_hex(p->item->object.sha1));
}
- htmlf("<tr><th>download</th><td colspan='2' class='sha1'><a href='");
- filename = fmt("%s-%s.zip", cgit_query_repo, hex);
- html_attr(cgit_pageurl(cgit_query_repo, "snapshot",
- fmt("id=%s&name=%s", hex, filename)));
- htmlf("'>%s</a></td></tr>", filename);
+ if (cgit_repo->snapshots) {
+ htmlf("<tr><th>download</th><td colspan='2' class='sha1'><a href='");
+ filename = fmt("%s-%s.zip", cgit_query_repo, hex);
+ html_attr(cgit_pageurl(cgit_query_repo, "snapshot",
+ fmt("id=%s&name=%s", hex, filename)));
+ htmlf("'>%s</a></td></tr>", filename);
+ }
html("</table>\n");
html("<div class='commit-subject'>");