diff options
| author | Edward Thomson <ethomson@edwardthomson.com> | 2017-12-30 13:07:03 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-12-30 13:07:03 -0600 |
| commit | 8cdf439b7714449eaddf5564933cd2fee1fc02cb (patch) | |
| tree | cb2f84ebada4d5e80a4c46914842739597f7cfea /src/pack-objects.c | |
| parent | 2b7a3393beefa08656ffbd2c6725e5e52e3b8af2 (diff) | |
| parent | 2dcfe51de1cec11764ba88edd8eb585fa0fc02d4 (diff) | |
| download | libgit2-8cdf439b7714449eaddf5564933cd2fee1fc02cb.tar.gz | |
Merge pull request #4028 from chescock/improve-local-fetch
Transfer fewer objects on push and local fetch
Diffstat (limited to 'src/pack-objects.c')
| -rw-r--r-- | src/pack-objects.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/pack-objects.c b/src/pack-objects.c index ef272e8f5..e9245143c 100644 --- a/src/pack-objects.c +++ b/src/pack-objects.c @@ -1642,7 +1642,7 @@ int insert_tree(git_packbuilder *pb, git_tree *tree) if ((error = retrieve_object(&obj, pb, git_tree_id(tree))) < 0) return error; - if (obj->seen) + if (obj->seen || obj->uninteresting) return 0; obj->seen = 1; @@ -1666,6 +1666,10 @@ int insert_tree(git_packbuilder *pb, git_tree *tree) break; case GIT_OBJ_BLOB: + if ((error = retrieve_object(&obj, pb, git_tree_id(tree))) < 0) + return error; + if (obj->uninteresting) + continue; name = git_tree_entry_name(entry); if ((error = git_packbuilder_insert(pb, entry_id, name)) < 0) return error; |
