I took a look at modifying builtin/pack-objects.c to support excluding oversized blobs and reporting the exclusions that it has performed. Here's a work in progress - it might be of aid to others who are working on a similar feature and/or are modifying pack-objects for something else. The way I used to obtain a blob's size seems inefficient and redundant with check_object() - if you have a suggestion to improve this, I'm interested. This is similar to [1] except that this reports blobs and their sizes (after the packfile is printed), and is slightly more comprehensive in that the read_object_list_from_stdin() codepath is also covered in addition to the get_object_list() codepath. (Although, to be clear, upload-pack always passes "--revs" and thus only needs the get_object_list() codepath). [1] https://public-inbox.org/git/1488994685-37403-3-git-send-email-jeffhost@xxxxxxxxxxxxx/ Jonathan Tan (2): pack-objects: rename want_.* to ignore_.* pack-objects: support --blob-size-limit Documentation/git-pack-objects.txt | 19 ++++- builtin/pack-objects.c | 163 ++++++++++++++++++++++++++++++------- t/t5300-pack-object.sh | 71 ++++++++++++++++ 3 files changed, 223 insertions(+), 30 deletions(-) -- 2.13.0.506.g27d5fe0cd-goog