mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-06 05:01:54 +00:00
Remote: Set an error when a remote cannot be found.
Inside `git_remote_load`, the calls to `get_optional_config` use `giterr_clear` to unset any errors that are set due to missing config keys. If neither a fetch nor a push url config was found for a remote, we should set an error again.
This commit is contained in:
parent
58eea5ebf4
commit
d723dbed0c
@ -403,6 +403,7 @@ int git_remote_load(git_remote **out, git_repository *repo, const char *name)
|
||||
|
||||
if (!optional_setting_found) {
|
||||
error = GIT_ENOTFOUND;
|
||||
giterr_set(GITERR_CONFIG, "Remote '%s' does not exist.", name);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
@ -60,6 +60,15 @@ void test_network_remote_remotes__pushurl(void)
|
||||
cl_assert(git_remote_pushurl(_remote) == NULL);
|
||||
}
|
||||
|
||||
void test_network_remote_remotes__error_when_not_found(void)
|
||||
{
|
||||
git_remote *r;
|
||||
cl_git_fail_with(git_remote_load(&r, _repo, "does-not-exist"), GIT_ENOTFOUND);
|
||||
|
||||
cl_assert(giterr_last() != NULL);
|
||||
cl_assert(giterr_last()->klass == GITERR_CONFIG);
|
||||
}
|
||||
|
||||
void test_network_remote_remotes__error_when_no_push_available(void)
|
||||
{
|
||||
git_remote *r;
|
||||
|
Loading…
Reference in New Issue
Block a user