Skip to content

Commit

Permalink
scalar: upgrade to newest FSMonitor config setting
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Victoria Dye <[email protected]>
  • Loading branch information
vdye and dscho committed Jul 17, 2024
1 parent d0e35c1 commit 0a1ef09
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions scalar.c
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,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"),
Expand Down

0 comments on commit 0a1ef09

Please sign in to comment.