repack: simplify handling of --write-bitmap-index

We previously needed to pass --no-write-bitmap-index explicitly to pack-objects to override its reading of pack.writebitmaps from the config. Now that it no longer does so, we can assume that bitmaps are off by default, and only turn them on when necessary. This also lets us avoid a confusing tri-state flag for write_bitmaps. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jeff King committed Jun 10, 2014 at 16:19 UTC 2bed2d47b4394bd6d4ae4645be9f7424009d3c9c
1 file changed +4 -5
builtin/repack.c
+4 -5
@@ -10,7 +10,7 @@
10
11 static int delta_base_offset = 1;
12 static int pack_kept_objects = -1;
13 -static int write_bitmaps = -1;
13 +static int write_bitmaps;
14 static char *packdir, *packtmp;
15
16 static const char *const git_repack_usage[] = {
@@ -195,7 +195,7 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
195 git_repack_usage, 0);
196
197 if (pack_kept_objects < 0)
198 - pack_kept_objects = write_bitmaps > 0;
198 + pack_kept_objects = write_bitmaps;
199
200 packdir = mkpathdup("%s/pack", get_object_directory());
201 packtmp = mkpathdup("%s/.tmp-%d-pack", packdir, (int)getpid());
@@ -221,9 +221,8 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
221 argv_array_pushf(&cmd_args, "--no-reuse-delta");
222 if (no_reuse_object)
223 argv_array_pushf(&cmd_args, "--no-reuse-object");
224 - if (write_bitmaps >= 0)
225 - argv_array_pushf(&cmd_args, "--%swrite-bitmap-index",
226 - write_bitmaps ? "" : "no-");
224 + if (write_bitmaps)
225 + argv_array_push(&cmd_args, "--write-bitmap-index");
226
227 if (pack_everything & ALL_INTO_ONE) {
228 get_non_kept_pack_filenames(&existing_packs);