-rw-r--r-- | cgit.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -615,16 +615,26 @@ static void cgit_parse_args(int argc, const char **argv) | |||
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); |