X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=config.c;h=f4f2c59a34cd9fc70db940871caaf00b94a6ef2e;hb=85e2233f982f760d0e731b1258da2580834d8027;hp=51f22088e7e20c6928986cc9597a1ebd5a10807e;hpb=3fa384d27e79d4731a9188716f566fa423a8ff50;p=git.git diff --git a/config.c b/config.c index 51f22088e..f4f2c59a3 100644 --- a/config.c +++ b/config.c @@ -351,6 +351,16 @@ int git_config_string(const char **dest, const char *var, const char *value) return 0; } +int git_config_pathname(const char **dest, const char *var, const char *value) +{ + if (!value) + return config_error_nonbool(var); + *dest = expand_user_path(value); + if (!*dest) + die("Failed to expand user dir in: '%s'", value); + return 0; +} + static int git_default_core_config(const char *var, const char *value) { /* This needs a better name */ @@ -479,7 +489,7 @@ static int git_default_core_config(const char *var, const char *value) return git_config_string(&editor_program, var, value); if (!strcmp(var, "core.excludesfile")) - return git_config_string(&excludes_file, var, value); + return git_config_pathname(&excludes_file, var, value); if (!strcmp(var, "core.whitespace")) { if (!value) @@ -508,6 +518,11 @@ static int git_default_core_config(const char *var, const char *value) return 0; } + if (!strcmp(var, "core.sparsecheckout")) { + core_apply_sparse_checkout = git_config_bool(var, value); + return 0; + } + /* Add other config variables here and to Documentation/config.txt. */ return 0; }