diff options
author | Terry Parker <tparker@google.com> | 2016-08-02 08:53:06 -0700 |
---|---|---|
committer | Terry Parker <tparker@google.com> | 2016-08-04 17:20:23 -0700 |
commit | 7edf05530d83d7f8971db4262ea43e11124c6b63 (patch) | |
tree | 9966e4414b5e1ab9cc58768c02e883d91add3598 /org.eclipse.jgit.lfs.test | |
parent | 9843489cb88d7c7cee09ced484c2fbc84ec1e3ef (diff) | |
download | jgit-7edf05530d83d7f8971db4262ea43e11124c6b63.tar.gz jgit-7edf05530d83d7f8971db4262ea43e11124c6b63.zip |
Shallow fetch: avoid sending unneeded blobs
When doing an incremental fetch from JGit, "have" commits are marked
as "uninteresting". In a non-shallow fetch, when the RevWalk hits an
"uninteresting" commit it marks the commit's corresponding tree as
uninteresting. That has the effect of dropping those trees and all the
trees and blobs they reference out of the thin pack returned to the
client.
However, shallow fetches use a DepthWalk to limit the RevWalk, which
nearly always causes the RevWalk to terminate before encountering the
"have" commits. As a result the pack created for the incremental fetch
never encounters "uninteresting" tree objects and thus includes
duplicate objects that it knows the client already has.
Change-Id: I7b1f7c3b0d83e04d34cd2fa676f1ad4fec904c05
Signed-off-by: Terry Parker <tparker@google.com>
Diffstat (limited to 'org.eclipse.jgit.lfs.test')
0 files changed, 0 insertions, 0 deletions