From: karthik nayak Date: Fri, 01 Nov 2024 14:25:38 GMT Subject: Re: [PATCH 5/6] path-walk: visit tags and cached objects Message-ID: In-Reply-To: <3dc27658526784edf46f67661d1161a8eea3ea0a.1730356023.git.gitgitgadget@gmail.com> "Derrick Stolee via GitGitGadget" writes: > From: Derrick Stolee > > The rev_info that is specified for a path-walk traversal may specify > visiting tag refs (both lightweight and annotated) and also may specify > indexed objects (blobs and trees). Update the path-walk API to walk > these objects as well. > > When walking tags, we need to peel the annotated objects until reaching > a non-tag object. If we reach a commit, then we can add it to the > pending objects to make sure we visit in the commit walk portion. If we Nit: s/in/it in/ [snip] > + case OBJ_BLOB: > + if (!info->blobs) > + continue; > + if (pending->path) { > + struct type_and_oid_list *list; > + char *path = pending->path; > + if (!(list = strmap_get(&ctx->paths_to_lists, path))) { > + CALLOC_ARRAY(list, 1); > + list->type = OBJ_BLOB; > + strmap_put(&ctx->paths_to_lists, path, list); > + } > + oid_array_append(&list->oids, &obj->oid); > + } else { > + /* assume a root tree, such as a lightweight tag. */ Shouldn't this comment be for tagged blobs? > + oid_array_append(&tagged_blobs->oids, &obj->oid); > + } > + break; [snip]