|
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,3 +582,6 @@ static int generate_cached_repolist(const char *path, const char *cached_rc) |
576 | idx = cgit_repolist.count; |
582 | idx = cgit_repolist.count; |
577 | scan_tree(path, repo_config); |
583 | if (ctx.cfg.project_list) |
| |
584 | scan_projects(path, ctx.cfg.project_list, repo_config); |
| |
585 | else |
| |
586 | scan_tree(path, repo_config); |
578 | print_repolist(f, &cgit_repolist, idx); |
587 | print_repolist(f, &cgit_repolist, idx); |
@@ -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)) { |
601 | scan_tree(path, repo_config); |
613 | if (ctx.cfg.project_list) |
| |
614 | scan_projects(path, ctx.cfg.project_list, |
| |
615 | repo_config); |
| |
616 | else |
| |
617 | scan_tree(path, repo_config); |
| |
618 | } |
602 | return; |
619 | return; |
|