checkout: don't require a work tree when checking out into a new one
[gitweb.git] / path.c
diff --git a/path.c b/path.c
index cd8e2d6e686e41f0a53479bf34d810a1a338650e..35d498e9bc33e1827178970c5136de3edc7e226a 100644 (file)
--- a/path.c
+++ b/path.c
@@ -103,7 +103,8 @@ static void update_common_dir(struct strbuf *buf, int git_dir_len)
        char *base = buf->buf + git_dir_len;
        const char **p;
 
-       if (is_dir_file(base, "logs", "HEAD"))
+       if (is_dir_file(base, "logs", "HEAD") ||
+           is_dir_file(base, "info", "sparse-checkout"))
                return; /* keep this in $GIT_DIR */
        for (p = common_list; *p; p++) {
                const char *path = *p;