pack-objects: use streaming interface for reading large loose blobs
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Sat, 26 May 2012 10:28:01 +0000 (17:28 +0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 29 May 2012 17:50:56 +0000 (10:50 -0700)
commitcf2ba13ac6a7589fde5b7e888fedb2e7299e423a
tree88d11e26c37e02f64f16f0df03e2911de625f970
parentc9018b0305a56436c85b292edbeacff04b0ebb5d
pack-objects: use streaming interface for reading large loose blobs

git usually streams large blobs directly to packs. But there are cases
where git can create large loose blobs (unpack-objects or hash-object
over pipe). Or they can come from other git implementations.
core.bigfilethreshold can also be lowered down and introduce a new
wave of large loose blobs.

Use streaming interface to read/compress/write these blobs in one
go. Fall back to normal way if somehow streaming interface cannot be
used.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/pack-objects.c
t/t1050-large.sh