Ignore submodule commits when fetching over dumb protocols
authorSven Verdoolaege <skimo@liacs.nl>
Tue, 26 Jun 2007 21:19:41 +0000 (23:19 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 27 Jun 2007 01:02:13 +0000 (18:02 -0700)
Without this patch, the code would look for the submodule
commits in the superproject and (needlessly) fail when it
couldn't find them.

Signed-off-by: Sven Verdoolaege <skimo@liacs.nl>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
fetch.c

diff --git a/fetch.c b/fetch.c
index 8e29d313f817981a29ebb65f2f579c9f1bd8e9b6..6f1f420be26ac6dafec366b3dc0671fb7f4940dc 100644 (file)
--- a/fetch.c
+++ b/fetch.c
@@ -46,6 +46,9 @@ static int process_tree(struct tree *tree)
        while (tree_entry(&desc, &entry)) {
                struct object *obj = NULL;
 
+               /* submodule commits are not stored in the superproject */
+               if (S_ISDIRLNK(entry.mode))
+                       continue;
                if (S_ISDIR(entry.mode)) {
                        struct tree *tree = lookup_tree(entry.sha1);
                        if (tree)