On Tue, Feb 27, 2024 at 03:20:27AM -0500, Jeff King wrote: > OK, so we detect the error and return it to the caller. Who is the > caller? The only use of this function is in repack_promisor_objects(), > which calls: > > for_each_packed_object(write_oid, &cmd, > FOR_EACH_OBJECT_PROMISOR_ONLY); > > So when we return the error, now for_each_packed_object() will stop > traversing, and propagate that error up to the caller. But as we can see > above, the caller ignores it! Oh, one other thing I meant to mention: as the test failure you saw was related to repacking, this seemed like a likely culprit. But the code is only triggered when repacking promisor objects in a partial clone, and it didn't look like the test you posted covered that (it was just about cruft packs). So I would not expect this code to be run at all in the failing test you saw. -Peff