|
diff --git a/cgit.c b/cgit.c index 8381630..3fcca2a 100644 --- a/ cgit.c+++ b/ cgit.c |
|
@@ -607,32 +607,42 @@ static void cgit_parse_args(int argc, const char **argv) |
607 | if (!strncmp(argv[i], "--page=", 7)) { |
607 | if (!strncmp(argv[i], "--page=", 7)) { |
608 | ctx.qry.page = xstrdup(argv[i]+7); |
608 | ctx.qry.page = xstrdup(argv[i]+7); |
609 | } |
609 | } |
610 | if (!strncmp(argv[i], "--head=", 7)) { |
610 | if (!strncmp(argv[i], "--head=", 7)) { |
611 | ctx.qry.head = xstrdup(argv[i]+7); |
611 | ctx.qry.head = xstrdup(argv[i]+7); |
612 | ctx.qry.has_symref = 1; |
612 | ctx.qry.has_symref = 1; |
613 | } |
613 | } |
614 | if (!strncmp(argv[i], "--sha1=", 7)) { |
614 | if (!strncmp(argv[i], "--sha1=", 7)) { |
615 | ctx.qry.sha1 = xstrdup(argv[i]+7); |
615 | ctx.qry.sha1 = xstrdup(argv[i]+7); |
616 | ctx.qry.has_sha1 = 1; |
616 | ctx.qry.has_sha1 = 1; |
617 | } |
617 | } |
618 | if (!strncmp(argv[i], "--ofs=", 6)) { |
618 | if (!strncmp(argv[i], "--ofs=", 6)) { |
619 | ctx.qry.ofs = atoi(argv[i]+6); |
619 | ctx.qry.ofs = atoi(argv[i]+6); |
620 | } |
620 | } |
621 | if (!strncmp(argv[i], "--scan-tree=", 12) || |
621 | if (!strncmp(argv[i], "--scan-tree=", 12) || |
622 | !strncmp(argv[i], "--scan-path=", 12)) { |
622 | !strncmp(argv[i], "--scan-path=", 12)) { |
| |
623 | /* HACK: the global snapshot bitmask defines the |
| |
624 | * set of allowed snapshot formats, but the config |
| |
625 | * file hasn't been parsed yet so the mask is |
| |
626 | * currently 0. By setting all bits high before |
| |
627 | * scanning we make sure that any in-repo cgitrc |
| |
628 | * snapshot setting is respected by scan_tree(). |
| |
629 | * BTW: we assume that there'll never be more than |
| |
630 | * 255 different snapshot formats supported by cgit... |
| |
631 | */ |
| |
632 | ctx.cfg.snapshots = 0xFF; |
623 | scan++; |
633 | scan++; |
624 | scan_tree(argv[i] + 12, repo_config); |
634 | scan_tree(argv[i] + 12, repo_config); |
625 | } |
635 | } |
626 | } |
636 | } |
627 | if (scan) { |
637 | if (scan) { |
628 | qsort(cgit_repolist.repos, cgit_repolist.count, |
638 | qsort(cgit_repolist.repos, cgit_repolist.count, |
629 | sizeof(struct cgit_repo), cmp_repos); |
639 | sizeof(struct cgit_repo), cmp_repos); |
630 | print_repolist(stdout, &cgit_repolist, 0); |
640 | print_repolist(stdout, &cgit_repolist, 0); |
631 | exit(0); |
641 | exit(0); |
632 | } |
642 | } |
633 | } |
643 | } |
634 | |
644 | |
635 | static int calc_ttl() |
645 | static int calc_ttl() |
636 | { |
646 | { |
637 | if (!ctx.repo) |
647 | if (!ctx.repo) |
638 | return ctx.cfg.cache_root_ttl; |
648 | return ctx.cfg.cache_root_ttl; |
|