diff options
author | Lars Hjemli <hjemli@gmail.com> | 2009-08-24 07:04:58 (JST) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2009-08-24 17:22:58 (JST) |
commit | 74061ed5f03e72796450aa3b8ca1cf6ced5d59e2 (patch) | |
tree | 235ab2c29c027f19b00da815af3bf1d2856edc21 /cgit.c | |
parent | a1b3938f711c9b0e5eedad1678535e5779da82c1 (diff) | |
download | cgit-74061ed5f03e72796450aa3b8ca1cf6ced5d59e2.zip cgit-74061ed5f03e72796450aa3b8ca1cf6ced5d59e2.tar.gz |
Add support for repo-local cgitrc file
When recursively scanning a directory tree looking for git repositories,
cgit will now parse cgitrc files found within such repositories.
The repo-specific config files can include any repo-specific options
except 'repo.url' and 'repo.path'. Also, in such config files the 'repo.'
prefix can not be used, i.e. the valid options then becomes:
* name
* clone-url
* desc
* ower
* defbranch
* snapshots
* enable-log-filecount
* enable-log-linecount
* max-stats
* module-link
* section
* about-filter
* commit-filter
* source-filter
* readme
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'cgit.c')
-rw-r--r-- | cgit.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -168,7 +168,7 @@ void config_cb(const char *name, const char *value) | |||
168 | if (!ctx.cfg.nocache && ctx.cfg.cache_size) | 168 | if (!ctx.cfg.nocache && ctx.cfg.cache_size) |
169 | process_cached_repolist(value); | 169 | process_cached_repolist(value); |
170 | else | 170 | else |
171 | scan_tree(value); | 171 | scan_tree(value, repo_config); |
172 | else if (!strcmp(name, "source-filter")) | 172 | else if (!strcmp(name, "source-filter")) |
173 | ctx.cfg.source_filter = new_filter(value, 1); | 173 | ctx.cfg.source_filter = new_filter(value, 1); |
174 | else if (!strcmp(name, "summary-log")) | 174 | else if (!strcmp(name, "summary-log")) |
@@ -476,7 +476,7 @@ static int generate_cached_repolist(const char *path, const char *cached_rc) | |||
476 | return errno; | 476 | return errno; |
477 | } | 477 | } |
478 | idx = cgit_repolist.count; | 478 | idx = cgit_repolist.count; |
479 | scan_tree(path); | 479 | scan_tree(path, repo_config); |
480 | print_repolist(f, &cgit_repolist, idx); | 480 | print_repolist(f, &cgit_repolist, idx); |
481 | if (rename(locked_rc, cached_rc)) | 481 | if (rename(locked_rc, cached_rc)) |
482 | fprintf(stderr, "[cgit] Error renaming %s to %s: %s (%d)\n", | 482 | fprintf(stderr, "[cgit] Error renaming %s to %s: %s (%d)\n", |
@@ -500,7 +500,7 @@ static void process_cached_repolist(const char *path) | |||
500 | * invoke scan_tree manually. | 500 | * invoke scan_tree manually. |
501 | */ | 501 | */ |
502 | if (generate_cached_repolist(path, cached_rc)) | 502 | if (generate_cached_repolist(path, cached_rc)) |
503 | scan_tree(path); | 503 | scan_tree(path, repo_config); |
504 | return; | 504 | return; |
505 | } | 505 | } |
506 | 506 | ||
@@ -559,7 +559,7 @@ static void cgit_parse_args(int argc, const char **argv) | |||
559 | if (!strncmp(argv[i], "--scan-tree=", 12) || | 559 | if (!strncmp(argv[i], "--scan-tree=", 12) || |
560 | !strncmp(argv[i], "--scan-path=", 12)) { | 560 | !strncmp(argv[i], "--scan-path=", 12)) { |
561 | scan++; | 561 | scan++; |
562 | scan_tree(argv[i] + 12); | 562 | scan_tree(argv[i] + 12, repo_config); |
563 | } | 563 | } |
564 | } | 564 | } |
565 | if (scan) { | 565 | if (scan) { |