| 149 | } |
| 150 | |
| 151 | static int process(struct walker *walker, struct object *obj) |
| 152 | { |
| 153 | if (obj->flags & SEEN) |
| 154 | return 0; |
| 155 | obj->flags |= SEEN; |
| 156 | |
| 157 | if (odb_has_object(the_repository->objects, &obj->oid, |
| 158 | ODB_HAS_OBJECT_RECHECK_PACKED | ODB_HAS_OBJECT_FETCH_PROMISOR)) { |
| 159 | /* We already have it, so we should scan it now. */ |
| 160 | obj->flags |= TO_SCAN; |
| 161 | } |
| 162 | else { |
| 163 | if (obj->flags & COMPLETE) |
| 164 | return 0; |
| 165 | walker->prefetch(walker, &obj->oid); |
| 166 | } |
| 167 | |
| 168 | object_list_insert(obj, process_queue_end); |
| 169 | process_queue_end = &(*process_queue_end)->next; |
| 170 | return 0; |
| 171 | } |
| 172 | |
| 173 | static int loop(struct walker *walker) |
| 174 | { |
no test coverage detected