diff options
Diffstat (limited to 'revision.c')
-rw-r--r-- | revision.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/revision.c b/revision.c index 8f0287fcc0..2a59035192 100644 --- a/revision.c +++ b/revision.c @@ -67,10 +67,17 @@ void mark_tree_uninteresting(struct tree *tree) init_tree_desc(&desc, tree->buffer, tree->size); while (tree_entry(&desc, &entry)) { - if (S_ISDIR(entry.mode)) + switch (object_type(entry.mode)) { + case OBJ_TREE: mark_tree_uninteresting(lookup_tree(entry.sha1)); - else + break; + case OBJ_BLOB: mark_blob_uninteresting(lookup_blob(entry.sha1)); + break; + default: + /* Subproject commit - not in this repository */ + break; + } } /* |