Code

allow OFS_DELTA objects during a push
authorNicolas Pitre <nico@cam.org>
Fri, 1 May 2009 20:56:47 +0000 (16:56 -0400)
committerJunio C Hamano <gitster@pobox.com>
Sat, 2 May 2009 05:06:41 +0000 (22:06 -0700)
commitb74fce16fa51362d4a3875d46e488006c3ad5371
tree4dd3e790760b531d064628f54793b2bda581a7b6
parent75b44066f3ed7cde238cdea1f0bf9e2f1744c820
allow OFS_DELTA objects during a push

The fetching of OFS_DELTA objects has been negotiated between both peers
since git version 1.4.4.  However, this was missing from the push side
where every OFS_DELTA objects were always converted to REF_DELTA objects
causing an increase in transferred data.

To fix this, both the client and the server processes have to be
modified: the former to invoke pack-objects with --delta-base-offset
when the server provides the ofs-delta capability, and the later to send
that capability when OFS_DELTA objects are allowed as already indicated
by the repack.usedeltabaseoffset config variable which is TRUE by
default since git v1.6.0.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-receive-pack.c
builtin-send-pack.c
send-pack.h