Subject: [PATCH 0/3] Test fetch-pack's ability to fetch arbitrary blobs

From: Jonathan Tan <[email-masked]>
Date: Fri, 24 Feb 2017 17:18:35 -0800

As stated in a previous e-mail [1], I was trying to think a way to allow
Git to fetch arbitrary blobs from another Git server, and it turned out
that fetch-pack already can. However, there were some bugs with blob
reachability. This patch set fixes those bugs, and verifies (with tests)
that fetch-pack can fetch reachable blobs and cannot fetch unreachable
blobs.

These patches are (I think) worthwhile on their own, but may be of
special interest to people who need Git to tolerate missing objects in
the local repo (for example, the e-mail discussion "[RFC] Add support
for downloading blobs on demand" [2]) because a way for Git to download
missing objects natively is (I think) a prerequisite to that.

[1] <[email-masked]>
[2] <[email-masked]>

Jonathan Tan (3):
  revision: unify {tree,blob}_objects in rev_info
  revision: exclude trees/blobs given commit
  upload-pack: compute blob reachability correctly

 bisect.c                 |  2 +-
 builtin/rev-list.c       |  6 ++--
 list-objects.c           |  4 +--
 pack-bitmap-write.c      |  3 +-
 pack-bitmap.c            |  3 +-
 reachable.c              |  3 +-
 revision.c               | 18 +++++-----
 revision.h               |  3 +-
 t/t5500-fetch-pack.sh    | 30 +++++++++++++++++
 t/t6000-rev-list-misc.sh | 88 ++++++++++++++++++++++++++++++++++++++++++++++++
 upload-pack.c            | 15 +++++++++
 11 files changed, 151 insertions(+), 24 deletions(-)

-- 
2.11.0.483.g087da7b7c-goog