summaryrefslogtreecommitdiffabout
path: root/cgit.c
authorLars Hjemli <hjemli@gmail.com>2007-06-18 19:17:24 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2007-06-18 19:17:24 (UTC)
commit7d6ee4ee8a2c79802a78bc09c0e1e96a7a82de78 (patch) (side-by-side diff)
tree0e337b6c314454614a54234b1ef3b0595ec05471 /cgit.c
parentb8be028a309381b83abe924f5e8e01cf02b121a2 (diff)
downloadcgit-7d6ee4ee8a2c79802a78bc09c0e1e96a7a82de78.zip
cgit-7d6ee4ee8a2c79802a78bc09c0e1e96a7a82de78.tar.gz
cgit-7d6ee4ee8a2c79802a78bc09c0e1e96a7a82de78.tar.bz2
Include querystring as part of cached filename for repo summary page
When adding support for the h parameter to the summary page (passing current branch between pages), the builtin cache returned basically random results for summary page since the cached filename didn't honour the querystring. This fixes the issue for now, but someday it might be worthwhile to generate 'canonical' filenames in the cache for all pages, i.e. something a bit more clever than just including the querystring. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'cgit.c') (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/cgit.c b/cgit.c
index 3fc90bf..b943fe5 100644
--- a/cgit.c
+++ b/cgit.c
@@ -29,13 +29,15 @@ static int cgit_prepare_cache(struct cacheitem *item)
}
if (!cgit_cmd) {
- item->name = xstrdup(fmt("%s/%s/index.html", cgit_cache_root,
- cache_safe_filename(cgit_repo->url)));
+ item->name = xstrdup(fmt("%s/%s/index.%s.html", cgit_cache_root,
+ cache_safe_filename(cgit_repo->url),
+ cache_safe_filename(cgit_querystring)));
item->ttl = cgit_cache_repo_ttl;
} else {
item->name = xstrdup(fmt("%s/%s/%s/%s.html", cgit_cache_root,
- cache_safe_filename(cgit_repo->url), cgit_query_page,
- cache_safe_filename(cgit_querystring)));
+ cache_safe_filename(cgit_repo->url),
+ cgit_query_page,
+ cache_safe_filename(cgit_querystring)));
if (cgit_query_has_symref)
item->ttl = cgit_cache_dynamic_ttl;
else if (cgit_query_has_sha1)