aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/MergeBaseGenerator.java
diff options
context:
space:
mode:
authorJonathan Tan <jonathantanmy@google.com>2019-05-23 13:28:53 -0700
committerJonathan Tan <jonathantanmy@google.com>2019-06-25 09:22:47 -0700
commitcbccfed4b39fd49cdb5366194b516a32ace58d62 (patch)
tree87c43e58b8edbdc6d501266bec88a8579d2827c2 /org.eclipse.jgit/src/org/eclipse/jgit/revwalk/MergeBaseGenerator.java
parent4b0c192f2de569cc7039ca4b03fe9eb0e714599c (diff)
downloadjgit-cbccfed4b39fd49cdb5366194b516a32ace58d62.tar.gz
jgit-cbccfed4b39fd49cdb5366194b516a32ace58d62.zip
UploadPack: support lazy fetches if no bitmap
If a client clones with "--filter=blob:none", the checkout that "git clone" automatically does causes the client to fetch all blobs at HEAD. When fetching from a non-bitmapped repository, this will fail if an object walk is ever needed, because JGit currently rejects such requests - see the commit message of d3021788d2 ("Use bitmaps for non-commit reachability checks", 2017-11-10) for more information. Rejecting such requests in the absence of bitmaps is probably overzealous: it is true that the server would prefer to have bitmaps in this case, but there might be a small proportion of repos (for example, very small repos or newly created ones) that do not have bitmaps, yet the server would still like to have partial clones for them. So, allow such requests, performing the object walk reachability check if necessary. Limit this to servers with "uploadpack.allowFilter" configured, so that servers wanting to support partial clone have this functionality, and servers that do not support partial clone do not have to pay the object walk reachability check cost. Change-Id: I51964bafec68696a799625d627615b4f45ddbbbf Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Diffstat (limited to 'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/MergeBaseGenerator.java')
0 files changed, 0 insertions, 0 deletions