added functionality to set remote urls
This commit is contained in:
parent
ffaf0d5ada
commit
d150937068
22
src/remote.c
22
src/remote.c
@ -100,9 +100,29 @@ Remote_url__get__(Remote *self)
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
Remote_url__set__(Remote *self, PyObject* py_url)
|
||||
{
|
||||
int err;
|
||||
char* url;
|
||||
|
||||
url = py_str_to_c_str(py_url, NULL);
|
||||
if (url != NULL) {
|
||||
err = git_remote_set_url(self->remote, url);
|
||||
|
||||
if (err == GIT_OK)
|
||||
return 0;
|
||||
|
||||
Error_set(err);
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
PyGetSetDef Remote_getseters[] = {
|
||||
GETSET(Remote, name),
|
||||
GETTER(Remote, url),
|
||||
GETSET(Remote, url),
|
||||
{NULL}
|
||||
};
|
||||
|
||||
|
@ -58,6 +58,17 @@ class RepositoryTest(utils.RepoTestCase):
|
||||
self.assertRaisesAssign(ValueError, remote, 'name', '')
|
||||
|
||||
|
||||
def test_remote_set_url(self):
|
||||
remote = self.repo.remotes[0]
|
||||
|
||||
self.assertEqual(REMOTE_URL, remote.url)
|
||||
new_url = 'git://github.com/cholin/pygit2.git'
|
||||
remote.url = new_url
|
||||
self.assertEqual(new_url, remote.url)
|
||||
|
||||
self.assertRaisesAssign(ValueError, remote, 'url', '')
|
||||
|
||||
|
||||
def test_remote_list(self):
|
||||
self.assertEqual(1, len(self.repo.remotes))
|
||||
remote = self.repo.remotes[0]
|
||||
|
Loading…
x
Reference in New Issue
Block a user