about summary refs log tree commit diff
path: root/scan-tree.c
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2009-08-11 10:08:12 +0200
committerLars Hjemli <hjemli@gmail.com>2009-08-24 10:22:57 +0200
commitfb9bf55cde24bbb46568575fc65739a9226f8216 (patch)
tree12380177c2b33f8acd2553769744dc87b062d0e4 /scan-tree.c
parentcgitrc.5.txt: fix description and markup for 'snapshots' option (diff)
downloadcgit-pink-fb9bf55cde24bbb46568575fc65739a9226f8216.tar.gz
cgit-pink-fb9bf55cde24bbb46568575fc65739a9226f8216.zip
scan-tree: detect non-bare repository and stop scanning early
We don't want to descend into every subdirectory of a git repository
with a workdir.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'scan-tree.c')
-rw-r--r--scan-tree.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/scan-tree.c b/scan-tree.c
index 4da21a4..67f4550 100644
--- a/scan-tree.c
+++ b/scan-tree.c
@@ -89,6 +89,10 @@ static void scan_path(const char *base, const char *path)
 		add_repo(base, path);
 		return;
 	}
+	if (is_git_dir(fmt("%s/.git", path))) {
+		add_repo(base, fmt("%s/.git", path));
+		return;
+	}
 	dir = opendir(path);
 	if (!dir) {
 		fprintf(stderr, "Error opening directory %s: %s (%d)\n",