summaryrefslogtreecommitdiff
path: root/remote.c
diff options
context:
space:
mode:
authorNicolas Pitre <nico@cam.org>2009-09-03 19:08:33 -0400
committerJunio C Hamano <gitster@pobox.com>2009-09-05 22:25:26 -0700
commit6523078b96cd39f681e6fa11135049808591fb95 (patch)
tree5bd0eb04eedd873db87c2fe67eecbdf7eb461200 /remote.c
parent86386829d425a3d3ae6ce713c58328607e50e523 (diff)
downloadgit-6523078b96cd39f681e6fa11135049808591fb95.tar.gz
make shallow repository deepening more network efficient
First of all, I can't find any reason why thin pack generation is explicitly disabled when dealing with a shallow repository. The possible delta base objects are collected from the edge commits which are always obtained through history walking with the same shallow refs as the client, Therefore the client is always going to have those base objects available. So let's remove that restriction. Then we can make shallow repository deepening much more efficient by using the remote's unshallowed commits as edge commits to get preferred base objects for thin pack generation. On git.git, this makes the data transfer for the deepening of a shallow repository from depth 1 to depth 2 around 134 KB instead of 3.68 MB. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'remote.c')
0 files changed, 0 insertions, 0 deletions