about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2009-08-24 13:31:49 +0200
committerLars Hjemli <hjemli@gmail.com>2009-08-24 13:31:49 +0200
commitee554849ac7209fa8f7486327ec9f3b370e4c876 (patch)
tree63c284ebf72ea401067dd5d4d59ae8ede8f8743c
parentcgit.c: only print first line of repo.desc in print_repo() (diff)
downloadcgit-pink-ee554849ac7209fa8f7486327ec9f3b370e4c876.tar.gz
cgit-pink-ee554849ac7209fa8f7486327ec9f3b370e4c876.zip
cgit.c: respect repo-local 'snapshots' option for --scan-path
The repo-specific 'snapshots' option is bitwise AND'ed with the global
'snapshots' option during parsing, and since the global cgitrc hasn't
been parsed when --scan-path is processed the global 'snapshots' will
always be 0 (i.e. no repo-specific 'snapshots' setting will have any
effect).

This patch fixes the issue by setting the global 'snapshots' mask to
0xFF (hence relying on later parsing of the generated cgitrc repolist
to do the right thing).

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--cgit.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/cgit.c b/cgit.c
index 8381630..3fcca2a 100644
--- a/cgit.c
+++ b/cgit.c
@@ -620,6 +620,16 @@ static void cgit_parse_args(int argc, const char **argv)
 		}
 		if (!strncmp(argv[i], "--scan-tree=", 12) ||
 		    !strncmp(argv[i], "--scan-path=", 12)) {
+			/* HACK: the global snapshot bitmask defines the
+			 * set of allowed snapshot formats, but the config
+			 * file hasn't been parsed yet so the mask is
+			 * currently 0. By setting all bits high before
+			 * scanning we make sure that any in-repo cgitrc
+			 * snapshot setting is respected by scan_tree().
+			 * BTW: we assume that there'll never be more than
+			 * 255 different snapshot formats supported by cgit...
+			 */
+			ctx.cfg.snapshots = 0xFF;
 			scan++;
 			scan_tree(argv[i] + 12, repo_config);
 		}
ogmsg'> For loop was getting one string with several paths separated by newlines. 2017-05-01Fix prune scriptJune McEnroe The for loop was overriding zsh's $path variable, causing it to not be able to find rm. 2017-05-01Clean up SSH configJune McEnroe 2017-05-01Rename colorscheme "trivial"June McEnroe 2017-05-01Update vendored pathogenJune McEnroe 2017-05-01Clean up git configJune McEnroe 2017-05-01Clean up style in xxJune McEnroe 2017-05-01Clean up style in pbdJune McEnroe 2017-05-01Use EX_OK in pbcopyJune McEnroe 2017-04-30Clean up clockJune McEnroe 2017-04-30Clean up error strings in briJune McEnroe 2017-03-18Add -u option to xxJune McEnroe 2017-03-15Fix non-string-literal-format-string in briJune McEnroe 2017-03-15Fix bri compilationJune McEnroe cc will remove the file itself just fine. Always exit in case any of the shell commands fail. 2017-03-15Use psvar for title settingJune McEnroe Prevents prompt expansion from happening on the command being run when it is set in the title. 2017-03-14Add bri brightness control scriptJune McEnroe This is probably terrible. 2017-03-14Add comment to tmux terminal overrideJune McEnroe 2017-03-13Have tmux set block cursor on linux consoleJune McEnroe 2017-03-13Use inverse for Visual in colorschemeJune McEnroe