summaryrefslogtreecommitdiffabout
path: root/cgit.c
Unidiff
Diffstat (limited to 'cgit.c') (more/less context) (show whitespace changes)
-rw-r--r--cgit.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/cgit.c b/cgit.c
index c263872..2364d1c 100644
--- a/cgit.c
+++ b/cgit.c
@@ -183,2 +183,4 @@ void config_cb(const char *name, const char *value)
183 ctx.cfg.max_commit_count = atoi(value); 183 ctx.cfg.max_commit_count = atoi(value);
184 else if (!strcmp(name, "project-list"))
185 ctx.cfg.project_list = xstrdup(expand_macros(value));
184 else if (!strcmp(name, "scan-path")) 186 else if (!strcmp(name, "scan-path"))
@@ -186,2 +188,5 @@ void config_cb(const char *name, const char *value)
186 process_cached_repolist(expand_macros(value)); 188 process_cached_repolist(expand_macros(value));
189 else if (ctx.cfg.project_list)
190 scan_projects(expand_macros(value),
191 ctx.cfg.project_list, repo_config);
187 else 192 else
@@ -297,2 +302,3 @@ static void prepare_context(struct cgit_context *ctx)
297 ctx->cfg.module_link = "./?repo=%s&page=commit&id=%s"; 302 ctx->cfg.module_link = "./?repo=%s&page=commit&id=%s";
303 ctx->cfg.project_list = NULL;
298 ctx->cfg.renamelimit = -1; 304 ctx->cfg.renamelimit = -1;
@@ -576,2 +582,5 @@ static int generate_cached_repolist(const char *path, const char *cached_rc)
576 idx = cgit_repolist.count; 582 idx = cgit_repolist.count;
583 if (ctx.cfg.project_list)
584 scan_projects(path, ctx.cfg.project_list, repo_config);
585 else
577 scan_tree(path, repo_config); 586 scan_tree(path, repo_config);
@@ -590,5 +599,8 @@ static void process_cached_repolist(const char *path)
590 time_t age; 599 time_t age;
600 unsigned long hash;
591 601
592 cached_rc = xstrdup(fmt("%s/rc-%8x", ctx.cfg.cache_root, 602 hash = hash_str(path);
593 hash_str(path))); 603 if (ctx.cfg.project_list)
604 hash += hash_str(ctx.cfg.project_list);
605 cached_rc = xstrdup(fmt("%s/rc-%8x", ctx.cfg.cache_root, hash));
594 606
@@ -599,4 +611,9 @@ static void process_cached_repolist(const char *path)
599 */ 611 */
600 if (generate_cached_repolist(path, cached_rc)) 612 if (generate_cached_repolist(path, cached_rc)) {
613 if (ctx.cfg.project_list)
614 scan_projects(path, ctx.cfg.project_list,
615 repo_config);
616 else
601 scan_tree(path, repo_config); 617 scan_tree(path, repo_config);
618 }
602 return; 619 return;