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>
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 @@
 		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",