diff --git a/fetch.c b/fetch.c index 390de99f2aebcc8d3098c556120af5d6298ab10a..3074f5f3567a5fc7832bda2a81eff0a4151e073d 100644 --- a/fetch.c +++ b/fetch.c @@ -138,18 +138,15 @@ static int process(struct object *obj) /* We already have it, so we should scan it now. */ if (obj->flags & TO_SCAN) return 0; - object_list_insert(obj, process_queue_end); - process_queue_end = &(*process_queue_end)->next; obj->flags |= TO_SCAN; - return 0; + } else { + if (obj->flags & COMPLETE) + return 0; + prefetch(obj->sha1); } - if (obj->flags & COMPLETE) - return 0; + object_list_insert(obj, process_queue_end); process_queue_end = &(*process_queue_end)->next; - - prefetch(obj->sha1); - return 0; }