mirror of
https://github.com/git/git
synced 2024-08-25 02:35:46 +00:00
![Nicolas Pitre](/assets/img/avatar_default.png)
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>
18 lines
344 B
C
18 lines
344 B
C
#ifndef SEND_PACK_H
|
|
#define SEND_PACK_H
|
|
|
|
struct send_pack_args {
|
|
unsigned verbose:1,
|
|
send_mirror:1,
|
|
force_update:1,
|
|
use_thin_pack:1,
|
|
use_ofs_delta:1,
|
|
dry_run:1;
|
|
};
|
|
|
|
int send_pack(struct send_pack_args *args,
|
|
int fd[], struct child_process *conn,
|
|
struct ref *remote_refs, struct extra_have_objects *extra_have);
|
|
|
|
#endif
|