From ac70cb4795c90db02917db63d169b0fadfe9fb99 Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Thu, 8 Feb 2007 14:47:56 +0100 Subject: Make snapshot feature configurable Snapshots can now be enabled/disabled by default for all repositories in cgitrc with param "snapshots". Additionally, any repo can override the default setting with param "repo.snapshots". By default, no snapshotting is enabled. Signed-off-by: Lars Hjemli --- cgit.c | 3 ++- cgit.h | 2 ++ cgitrc | 5 +++++ shared.c | 6 ++++++ ui-commit.c | 12 +++++++----- 5 files changed, 22 insertions(+), 6 deletions(-) diff --git a/cgit.c b/cgit.c index 2795ecc..7b7afba 100644 --- a/cgit.c +++ b/cgit.c @@ -79,7 +79,8 @@ static void cgit_print_repo_page(struct cacheitem *item) 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; diff --git a/cgit.h b/cgit.h index 03c2fdb..6e95673 100644 --- a/cgit.h +++ b/cgit.h @@ -21,6 +21,7 @@ struct repoinfo { char *path; char *desc; char *owner; + int snapshots; }; struct repolist { @@ -61,6 +62,7 @@ extern char *cgit_virtual_root; 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; diff --git a/cgitrc b/cgitrc index d45f9c2..3bae642 100644 --- a/cgitrc +++ b/cgitrc @@ -8,6 +8,10 @@ #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 @@ -77,3 +81,4 @@ #repo.desc=the caching cgi for git #repo.path=/pub/git/cgit #repo.owner=Lars Hjemli +#repo.snapshots=1 # override a sitewide snapshot-setting diff --git a/shared.c b/shared.c index 5757d0c..531d8c0 100644 --- a/shared.c +++ b/shared.c @@ -20,6 +20,7 @@ char *cgit_virtual_root = NULL; 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; @@ -83,6 +84,7 @@ struct repoinfo *add_repo(const char *url) ret->path = NULL; ret->desc = NULL; ret->owner = NULL; + ret->snapshots = cgit_snapshots; return ret; } @@ -100,6 +102,8 @@ void cgit_global_config_cb(const char *name, const char *value) 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")) @@ -122,6 +126,8 @@ void cgit_global_config_cb(const char *name, const char *value) 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) diff --git a/ui-commit.c b/ui-commit.c index de3f2cf..3618800 100644 --- a/ui-commit.c +++ b/ui-commit.c @@ -169,11 +169,13 @@ void cgit_print_commit(const char *hex) htmlf("'>%s\n", sha1_to_hex(p->item->object.sha1)); } - htmlf("download%s", filename); + if (cgit_repo->snapshots) { + htmlf("download%s", filename); + } html("\n"); html("
"); -- cgit 1.4.1 '>2021-09-24Pledge downgradeJune McEnroe 2021-09-24Set original socket CLOEXECJune McEnroe 2021-09-24Consume request headers using MSG_PEEKJune McEnroe 2021-09-24Set only HTTP_HOSTJune McEnroe 2021-09-23Scroll by single lines in xtermJune McEnroe 2021-09-23Hide htop "function bar"June McEnroe 2021-09-23Allow FocusEvents in xtermJune McEnroe 2021-09-23Use NI_NUMERICSERVJune McEnroe 2021-09-23Make up build away from FreeBSDJune McEnroe 2021-09-23Add quickJune McEnroe 2021-09-23Add The HobbitJune McEnroe 2021-09-22Remove PSF fontsJune McEnroe 2021-09-22Remove Linux-specific utilitiesJune McEnroe 2021-09-22Call sandbox in CGI modeJune McEnroe 2021-09-22Support HTTP PUT in upJune McEnroe 2021-09-22Remove default faviconJune McEnroe 2021-09-21Use Z_FILTERED strategyJune McEnroe 2021-09-21Recalculate various lengths only as neededJune McEnroe 2021-09-21Rewrite pngo, add explicit optionsJune McEnroe 2021-09-16Fix /* **/ comment matchingJune McEnroe 2021-09-15Remove typer, add downgrade to READMEJune McEnroe 2021-09-15Set bot mode on downgradeJune McEnroe 2021-09-15Enter capsicum in downgradeJune McEnroe 2021-09-15Factor out common parts of downgrade messagesJune McEnroe 2021-09-14Add downgrade IRC botJune McEnroe 2021-09-14Sort by title if authors matchJune McEnroe 2021-09-13Swap-remove tags as they're foundJune McEnroe 2021-09-12Replace htagml regex with strncmpJune McEnroe 2021-09-11Also defer printing comment for lone close-parensJune McEnroe 2021-09-10Publish "git-comment"June McEnroe 2021-09-10Add git comment --pretty optionJune McEnroe 2021-09-08Defer printing comment if line is blank or closing braceJune McEnroe 2021-09-08Up default min-repeat to 30 linesJune McEnroe 2021-09-08Handle dirty lines in git-commentJune McEnroe 2021-09-08Document and install git-commentJune McEnroe 2021-09-08Add repeat and all options to git-commentJune McEnroe 2021-09-08Add group threshold to git-commentJune McEnroe