As the multi-pack-index feature is being developed, we use a config setting 'core.midx' to enable all use of MIDX files. Since MIDX files are designed as a way to augment the existing data stores in Git, turning this setting off will revert to previous behavior without needing to downgrade. This can also be a repo- specific setting if the MIDX is misbehaving in only one repo. Signed-off-by: Derrick Stolee <dstolee@xxxxxxxxxxxxx> --- Documentation/config.txt | 3 +++ cache.h | 1 + config.c | 5 +++++ environment.c | 2 ++ 4 files changed, 11 insertions(+) diff --git a/Documentation/config.txt b/Documentation/config.txt index 64c1dbba94..dc7cb4b900 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -896,6 +896,9 @@ core.notesRef:: This setting defaults to "refs/notes/commits", and it can be overridden by the `GIT_NOTES_REF` environment variable. See linkgit:git-notes[1]. +core.midx:: + Enable "multi-pack-index" feature. Set to true to read and write MIDX files. + core.sparseCheckout:: Enable "sparse checkout" feature. See section "Sparse checkout" in linkgit:git-read-tree[1] for more information. diff --git a/cache.h b/cache.h index a2ec8c0b55..f4943d3136 100644 --- a/cache.h +++ b/cache.h @@ -820,6 +820,7 @@ extern int precomposed_unicode; extern int protect_hfs; extern int protect_ntfs; extern const char *core_fsmonitor; +extern int core_midx; /* * Include broken refs in all ref iterations, which will diff --git a/config.c b/config.c index e617c2018d..17f560ddc4 100644 --- a/config.c +++ b/config.c @@ -1223,6 +1223,11 @@ static int git_default_core_config(const char *var, const char *value) return 0; } + if (!strcmp(var, "core.midx")) { + core_midx = git_config_bool(var, value); + return 0; + } + if (!strcmp(var, "core.sparsecheckout")) { core_apply_sparse_checkout = git_config_bool(var, value); return 0; diff --git a/environment.c b/environment.c index 63ac38a46f..57a3943849 100644 --- a/environment.c +++ b/environment.c @@ -78,6 +78,8 @@ int protect_hfs = PROTECT_HFS_DEFAULT; int protect_ntfs = PROTECT_NTFS_DEFAULT; const char *core_fsmonitor; +int core_midx; + /* * The character that begins a commented line in user-editable file * that is subject to stripspace. -- 2.15.0