about summary refs log tree commit diff
path: root/scan-tree.c
diff options
context:
space:
mode:
authorJohan Herland <johan@herland.net>2010-11-15 20:41:00 +0100
committerLars Hjemli <hjemli@gmail.com>2011-02-19 14:25:14 +0100
commitdf522794c38934be3229a11e0e2432a1f2a3bc8d (patch)
treef11aef6d303a5327303a4471d47444764bea53d8 /scan-tree.c
parentscan_path(): Improve handling of inaccessible directories (diff)
downloadcgit-pink-df522794c38934be3229a11e0e2432a1f2a3bc8d.tar.gz
cgit-pink-df522794c38934be3229a11e0e2432a1f2a3bc8d.zip
scan_path(): Do not recurse into hidden directories by default
Paths that start with a period ('.') are considered hidden in the Unix world.
scan_path() should arguably not recurse into these directories by default.
This patch makes it so, and introduces the "scan-hidden-path" config variable
for overriding the new default and revert to the old behaviour (scanning _all_
directories, including hidden .directories).

Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Lars Hjemli <larsh@prediktor.no>
Diffstat (limited to 'scan-tree.c')
-rw-r--r--scan-tree.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/scan-tree.c b/scan-tree.c
index eda8c67..627af1b 100644
--- a/scan-tree.c
+++ b/scan-tree.c
@@ -183,6 +183,8 @@ static void scan_path(const char *base, const char *path, repo_config_fn fn)
 				continue;
 			if (ent->d_name[1] == '.' && ent->d_name[2] == '\0')
 				continue;
+			if (!ctx.cfg.scan_hidden_path)
+				continue;
 		}
 		buf = malloc(strlen(path) + strlen(ent->d_name) + 2);
 		if (!buf) {