Dana How <danahow@xxxxxxxxx> wrote: > Rewrite write_pack_file() to break to a new packfile > whenever write_object/write_one request it, and > correct the header's object count in the previous packfile. > Change write_index_file() to write an index > for just the objects in the most recent packfile. ... > diff --git a/builtin-pack-objects.c b/builtin-pack-objects.c ... > @@ -672,74 +673,94 @@ static int adjust_perm(const char *path, mode_t mode); ... > + hdr.hdr_signature = htonl(PACK_SIGNATURE); > + hdr.hdr_version = htonl(PACK_VERSION); > + hdr.hdr_entries = htonl(nr_result); What about keeping track of how many objects in nr_result that have been written already in the prior iteration of this do{} while loop and using that to set hdr_entries? This way if you are splitting into multiple packfiles the last packfile won't need to do a header/footer fixup. -- Shawn. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html