So this is the second round. Peff noticed that the istream_open() did not return the size of the object correctly for in-pack (non-delta) and loose representations, and this round fixes it. Also sha1_object_info_extended() lost the call to the expensive function packed_object_info_detail(), as the only thing we are interested in is to see if the first-level object is a non-delta. As the result, 02/11 would now be much easier to follow. Junio C Hamano (11): packed_object_info_detail(): do not return a string sha1_object_info_extended(): expose a bit more info sha1_object_info_extended(): hint about objects in delta-base cache unpack_object_header(): make it public write_entry(): separate two helper functions out streaming: a new API to read from the object store streaming_write_entry(): use streaming API in write_entry() streaming_write_entry(): support files with holes streaming: read non-delta incrementally from a pack sha1_file.c: expose helpers to read loose objects streaming: read loose objects incrementally Makefile | 2 + builtin/verify-pack.c | 4 +- cache.h | 36 +++++- convert.c | 23 +++ entry.c | 112 +++++++++++++--- sha1_file.c | 69 +++++++--- streaming.c | 377 +++++++++++++++++++++++++++++++++++++++++++++++++ streaming.h | 15 ++ 8 files changed, 598 insertions(+), 40 deletions(-) create mode 100644 streaming.c create mode 100644 streaming.h -- 1.7.5.1.416.gac10c8 -- 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