X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;ds=sidebyside;f=builtin-send-pack.c;h=473a3de40c4cc9aab5c1355d0602646234e7bc1c;hb=4f66250df641362f381faae2aec439850a5a6e41;hp=d5a1c48d0e2abab16c646ce86ac9670b95dddc07;hpb=2d430c713372fc21f9acf1d8b745e7f4fbbe336c;p=git.git diff --git a/builtin-send-pack.c b/builtin-send-pack.c index d5a1c48d0..473a3de40 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"