|
12 | 12 | static int delta_base_offset = 1;
|
13 | 13 | static int pack_kept_objects = -1;
|
14 | 14 | static int write_bitmaps;
|
| 15 | +static int use_delta_islands; |
15 | 16 | static char *packdir, *packtmp;
|
16 | 17 |
|
17 | 18 | static const char *const git_repack_usage[] = {
|
@@ -40,6 +41,10 @@ static int repack_config(const char *var, const char *value, void *cb)
|
40 | 41 | write_bitmaps = git_config_bool(var, value);
|
41 | 42 | return 0;
|
42 | 43 | }
|
| 44 | + if (!strcmp(var, "repack.usedeltaislands")) { |
| 45 | + use_delta_islands = git_config_bool(var, value); |
| 46 | + return 0; |
| 47 | + } |
43 | 48 | return git_default_config(var, value, cb);
|
44 | 49 | }
|
45 | 50 |
|
@@ -194,6 +199,8 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
|
194 | 199 | N_("pass --local to git-pack-objects")),
|
195 | 200 | OPT_BOOL('b', "write-bitmap-index", &write_bitmaps,
|
196 | 201 | N_("write bitmap index")),
|
| 202 | + OPT_BOOL('i', "delta-islands", &use_delta_islands, |
| 203 | + N_("pass --delta-islands to git-pack-objects")), |
197 | 204 | OPT_STRING(0, "unpack-unreachable", &unpack_unreachable, N_("approxidate"),
|
198 | 205 | N_("with -A, do not loosen objects older than this")),
|
199 | 206 | OPT_BOOL('k', "keep-unreachable", &keep_unreachable,
|
@@ -267,6 +274,8 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
|
267 | 274 | argv_array_pushf(&cmd.args, "--no-reuse-object");
|
268 | 275 | if (write_bitmaps)
|
269 | 276 | argv_array_push(&cmd.args, "--write-bitmap-index");
|
| 277 | + if (use_delta_islands) |
| 278 | + argv_array_push(&cmd.args, "--delta-islands"); |
270 | 279 |
|
271 | 280 | if (pack_everything & ALL_INTO_ONE) {
|
272 | 281 | get_non_kept_pack_filenames(&existing_packs, &keep_pack_list);
|
|
0 commit comments