summaryrefslogtreecommitdiff
path: root/builtin-send-pack.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-05-18 09:01:16 -0700
committerJunio C Hamano <gitster@pobox.com>2009-05-18 09:01:16 -0700
commit99ddd24ad7753458043016bf1b7d88915aaeb396 (patch)
treeb5faececa4c2ecc53a46058e007f4f46399fbf4f /builtin-send-pack.c
parentd430262fac7b8804da491c23ac1726bed2b1326d (diff)
parentb74fce16fa51362d4a3875d46e488006c3ad5371 (diff)
downloadgit-99ddd24ad7753458043016bf1b7d88915aaeb396.tar.gz
Merge branch 'np/push-delta'
* np/push-delta: allow OFS_DELTA objects during a push
Diffstat (limited to 'builtin-send-pack.c')
-rw-r--r--builtin-send-pack.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/builtin-send-pack.c b/builtin-send-pack.c
index d5a1c48d0e..473a3de40c 100644
--- a/builtin-send-pack.c
+++ b/builtin-send-pack.c
@@ -43,12 +43,16 @@ static int pack_objects(int fd, struct ref *refs, struct extra_have_objects *ext
"--stdout",
NULL,
NULL,
+ NULL,
};
struct child_process po;
int i;
+ i = 4;
if (args->use_thin_pack)
- argv[4] = "--thin";
+ argv[i++] = "--thin";
+ if (args->use_ofs_delta)
+ argv[i++] = "--delta-base-offset";
memset(&po, 0, sizeof(po));
po.argv = argv;
po.in = -1;
@@ -315,6 +319,8 @@ int send_pack(struct send_pack_args *args,
ask_for_status_report = 1;
if (server_supports("delete-refs"))
allow_deleting_refs = 1;
+ if (server_supports("ofs-delta"))
+ args->use_ofs_delta = 1;
if (!remote_refs) {
fprintf(stderr, "No refs in common and none specified; doing nothing.\n"