summaryrefslogtreecommitdiff
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
parentb44c40ea720aee9ba4412e192877e9632a70a259 (diff)
downloadcgit-fb9bf55cde24bbb46568575fc65739a9226f8216.tar.gz
cgit-fb9bf55cde24bbb46568575fc65739a9226f8216.tar.bz2
cgit-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",