repository: don't fail to create config option in inmemory repo
When in an in-memory repository - without a configuration file - do not
fail to create a configuration object.
diff --git a/src/repository.c b/src/repository.c
index 27553ad..7ecb00e 100644
--- a/src/repository.c
+++ b/src/repository.c
@@ -943,13 +943,10 @@
if ((error = git_config_new(&cfg)) < 0)
return error;
- error = git_repository_item_path(&config_path, repo, GIT_REPOSITORY_ITEM_CONFIG);
- if (error < 0)
- goto on_error;
+ if ((error = git_repository_item_path(&config_path, repo, GIT_REPOSITORY_ITEM_CONFIG)) == 0)
+ error = git_config_add_file_ondisk(cfg, config_path.ptr, GIT_CONFIG_LEVEL_LOCAL, 0);
- if ((error = git_config_add_file_ondisk(
- cfg, config_path.ptr, GIT_CONFIG_LEVEL_LOCAL, 0)) < 0 &&
- error != GIT_ENOTFOUND)
+ if (error && error != GIT_ENOTFOUND)
goto on_error;
git_buf_free(&config_path);