remote: Don't parse missing urls as empty strings

This commit is contained in:
nulltoken 2013-08-21 13:37:21 +02:00
parent 44bc0c6ac3
commit ece24ef7c4
3 changed files with 8 additions and 2 deletions

View File

@ -308,7 +308,7 @@ int git_remote_load(git_remote **out, git_repository *repo, const char *name)
if ((error = get_optional_config(config, &buf, NULL, (void *)&val)) < 0)
goto cleanup;
if (val) {
if (val && strlen(val) > 0) {
remote->pushurl = git__strdup(val);
GITERR_CHECK_ALLOC(remote->pushurl);
}

View File

@ -367,8 +367,14 @@ void test_network_remote_remotes__can_load_with_an_empty_url(void)
cl_git_pass(git_remote_load(&remote, _repo, "empty-remote-url"));
cl_assert(remote->url == NULL);
cl_assert(remote->pushurl == NULL);
cl_git_fail(git_remote_connect(remote, GIT_DIRECTION_FETCH));
cl_assert(giterr_last() != NULL);
cl_assert(giterr_last()->klass == GITERR_INVALID);
git_remote_free(remote);
}

View File

@ -10,7 +10,7 @@
url = git://github.com/libgit2/libgit2
[remote "empty-remote-url"]
url =
pushurl =
[remote "test_with_pushurl"]
url = git://github.com/libgit2/fetchlibgit2
pushurl = git://github.com/libgit2/pushlibgit2