Merge branch 'cc/split-index-config'
The experimental "split index" feature has gained a few configuration variables to make it easier to use. * cc/split-index-config: (22 commits) Documentation/git-update-index: explain splitIndex.* Documentation/config: add splitIndex.sharedIndexExpire read-cache: use freshen_shared_index() in read_index_from() read-cache: refactor read_index_from() t1700: test shared index file expiration read-cache: unlink old sharedindex files config: add git_config_get_expiry() from gc.c read-cache: touch shared index files when used sha1_file: make check_and_freshen_file() non static Documentation/config: add splitIndex.maxPercentChange t1700: add tests for splitIndex.maxPercentChange read-cache: regenerate shared index if necessary config: add git_config_get_max_percent_split_change() Documentation/git-update-index: talk about core.splitIndex config var Documentation/config: add information for core.splitIndex t1700: add tests for core.splitIndex update-index: warn in case of split-index incoherency read-cache: add and then use tweak_split_index() split-index: add {add,remove}_split_index() functions config: add git_config_get_split_index() ...
This commit is contained in:
42
config.c
42
config.c
@ -1803,6 +1803,19 @@ int git_config_get_pathname(const char *key, const char **dest)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int git_config_get_expiry(const char *key, const char **output)
|
||||
{
|
||||
int ret = git_config_get_string_const(key, output);
|
||||
if (ret)
|
||||
return ret;
|
||||
if (strcmp(*output, "now")) {
|
||||
unsigned long now = approxidate("now");
|
||||
if (approxidate(*output) >= now)
|
||||
git_die_config(key, _("Invalid %s: '%s'"), key, *output);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int git_config_get_untracked_cache(void)
|
||||
{
|
||||
int val = -1;
|
||||
@ -1819,14 +1832,39 @@ int git_config_get_untracked_cache(void)
|
||||
if (!strcasecmp(v, "keep"))
|
||||
return -1;
|
||||
|
||||
error("unknown core.untrackedCache value '%s'; "
|
||||
"using 'keep' default value", v);
|
||||
error(_("unknown core.untrackedCache value '%s'; "
|
||||
"using 'keep' default value"), v);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return -1; /* default value */
|
||||
}
|
||||
|
||||
int git_config_get_split_index(void)
|
||||
{
|
||||
int val;
|
||||
|
||||
if (!git_config_get_maybe_bool("core.splitindex", &val))
|
||||
return val;
|
||||
|
||||
return -1; /* default value */
|
||||
}
|
||||
|
||||
int git_config_get_max_percent_split_change(void)
|
||||
{
|
||||
int val = -1;
|
||||
|
||||
if (!git_config_get_int("splitindex.maxpercentchange", &val)) {
|
||||
if (0 <= val && val <= 100)
|
||||
return val;
|
||||
|
||||
return error(_("splitIndex.maxPercentChange value '%d' "
|
||||
"should be between 0 and 100"), val);
|
||||
}
|
||||
|
||||
return -1; /* default value */
|
||||
}
|
||||
|
||||
NORETURN
|
||||
void git_die_config_linenr(const char *key, const char *filename, int linenr)
|
||||
{
|
||||
|
Reference in New Issue
Block a user