scalar: upgrade to newest FSMonitor config setting

When FSMonitor was upstreamed, the 'core.useBuiltinFSMonitor' config was
deprecated and replaced with an overload of the 'core.fsmonitor' config
(i.e., if a boolean value was specified in 'core.fsmonitor', it is treated
the way 'core.useBuiltinFSMonitor' originally was). Because 'scalar
register' actively sets that config, use it to upgrade the deprecated config
setting.

Co-authored-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Victoria Dye <vdye@github.com>
This commit is contained in:
Victoria Dye 2022-04-05 13:42:23 -07:00
Родитель 96a4a8f9c0
Коммит 4c49062752
1 изменённых файлов: 17 добавлений и 0 удалений

Просмотреть файл

@ -195,6 +195,23 @@ static int set_recommended_config(int reconfigure)
int i;
char *value;
/*
* If a user has "core.usebuiltinfsmonitor" enabled, try to switch to
* the new (non-deprecated) setting (core.fsmonitor).
*/
if (!git_config_get_string("core.usebuiltinfsmonitor", &value)) {
char *dummy = NULL;
if (git_config_get_string("core.fsmonitor", &dummy) &&
git_config_set_gently("core.fsmonitor", value) < 0)
return error(_("could not configure %s=%s"),
"core.fsmonitor", value);
if (git_config_set_gently("core.usebuiltinfsmonitor", NULL) < 0)
return error(_("could not configure %s=%s"),
"core.useBuiltinFSMonitor", "NULL");
free(value);
free(dummy);
}
for (i = 0; config[i].key; i++) {
if (set_scalar_config(config + i, reconfigure))
return error(_("could not configure %s=%s"),