diff options
-rw-r--r-- | src/repository.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/repository.c b/src/repository.c index 27553ad0a..1944e3633 100644 --- a/src/repository.c +++ b/src/repository.c @@ -943,16 +943,15 @@ static int load_config( 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 == GIT_ENOTFOUND) { + giterr_clear(); + error = 0; + } else if (error < 0) { goto on_error; - - git_buf_free(&config_path); + } if (global_config_path != NULL && (error = git_config_add_file_ondisk( |