Revert "config: Return ENOTFOUND when a variable was deleted" This would make us think that config variables like [core] something is missing.
diff --git a/src/config_file.c b/src/config_file.c
index 45b43b7..7a58652 100644
--- a/src/config_file.c
+++ b/src/config_file.c
@@ -391,15 +391,17 @@ static int config_set(git_config_file *cfg, const char *name, const char *value)
static int config_get(git_config_file *cfg, const char *name, const char **out)
{
cvar_t *var;
+ int error = GIT_SUCCESS;
diskfile_backend *b = (diskfile_backend *)cfg;
var = cvar_list_find(&b->var_list, name);
- if (var == NULL || var->value == NULL)
+ if (var == NULL)
return git__throw(GIT_ENOTFOUND, "Variable '%s' not found", name);
*out = var->value;
- return GIT_SUCCESS;
+
+ return error == GIT_SUCCESS ? GIT_SUCCESS : git__rethrow(error, "Failed to get config value for %s", name);
}
int git_config_file__ondisk(git_config_file **out, const char *path)