summaryrefslogtreecommitdiff
path: root/builtin/repack.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2014-06-10 20:09:23 (GMT)
committerJunio C Hamano <gitster@pobox.com>2014-06-10 21:01:08 (GMT)
commit3198b89fb225ef8e0200e9486a48be8068e85d15 (patch)
tree04db2b3fda708b8b059953d160039adb08f06de5 /builtin/repack.c
parent64d3dc94687bf4a8a422ab6d5cffcdb44315d49e (diff)
downloadgit-3198b89fb225ef8e0200e9486a48be8068e85d15.zip
git-3198b89fb225ef8e0200e9486a48be8068e85d15.tar.gz
git-3198b89fb225ef8e0200e9486a48be8068e85d15.tar.bz2
repack: respect pack.writebitmaps
The config option to turn on bitmaps is read all the way down in the plumbing of pack-objects. This makes it hard for other options in the porcelain of repack to make decisions based on the bitmap setting. For example, repack.packKeptObjects tries to kick in by default only when bitmaps are turned on. But it can't do so reliably because it doesn't yet know whether we are using bitmaps. This patch teaches repack to respect pack.writebitmaps. It means we pass a redundant command-line flag to pack-objects, but that's OK; it shouldn't affect the outcome. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/repack.c')
-rw-r--r--builtin/repack.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/builtin/repack.c b/builtin/repack.c
index a02ef0d..d6b6bb6 100644
--- a/builtin/repack.c
+++ b/builtin/repack.c
@@ -10,6 +10,7 @@
static int delta_base_offset = 1;
static int pack_kept_objects = -1;
+static int write_bitmap = -1;
static char *packdir, *packtmp;
static const char *const git_repack_usage[] = {
@@ -27,6 +28,10 @@ static int repack_config(const char *var, const char *value, void *cb)
pack_kept_objects = git_config_bool(var, value);
return 0;
}
+ if (!strcmp(var, "pack.writebitmaps")) {
+ write_bitmap = git_config_bool(var, value);
+ return 0;
+ }
return git_default_config(var, value, cb);
}
@@ -149,7 +154,6 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
int no_update_server_info = 0;
int quiet = 0;
int local = 0;
- int write_bitmap = -1;
struct option builtin_repack_options[] = {
OPT_BIT('a', NULL, &pack_everything,