Merge remote-tracking branch 'drodriguez/remote-save'
This commit is contained in:
commit
4b01309cd7
@ -14,3 +14,4 @@ The Remote type
|
||||
.. autoattribute:: pygit2.Remote.url
|
||||
.. autoattribute:: pygit2.Remote.fetchspec
|
||||
.. automethod:: pygit2.Remote.fetch
|
||||
.. automethod:: pygit2.Remote.save
|
20
src/remote.c
20
src/remote.c
@ -215,8 +215,28 @@ Remote_fetch(Remote *self, PyObject *args)
|
||||
}
|
||||
|
||||
|
||||
PyDoc_STRVAR(Remote_save__doc__,
|
||||
"save()\n\n"
|
||||
"Save a remote to its repository configuration.");
|
||||
|
||||
PyObject *
|
||||
Remote_save(Remote *self, PyObject *args)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = git_remote_save(self->remote);
|
||||
if (err == GIT_OK) {
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
else {
|
||||
return Error_set(err);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
PyMethodDef Remote_methods[] = {
|
||||
METHOD(Remote, fetch, METH_NOARGS),
|
||||
METHOD(Remote, save, METH_NOARGS),
|
||||
{NULL}
|
||||
};
|
||||
|
||||
|
@ -98,6 +98,18 @@ class RepositoryTest(utils.RepoTestCase):
|
||||
remote = self.repo.create_remote(name, url)
|
||||
self.assertTrue(remote.name in [x.name for x in self.repo.remotes])
|
||||
|
||||
def test_remote_save(self):
|
||||
remote = self.repo.remotes[0]
|
||||
|
||||
remote.name = 'new-name'
|
||||
remote.url = 'http://example.com/test.git'
|
||||
|
||||
remote.save()
|
||||
|
||||
self.assertEqual('new-name', self.repo.remotes[0].name)
|
||||
self.assertEqual('http://example.com/test.git',
|
||||
self.repo.remotes[0].url)
|
||||
|
||||
|
||||
class EmptyRepositoryTest(utils.EmptyRepoTestCase):
|
||||
def test_fetch(self):
|
||||
|
Loading…
x
Reference in New Issue
Block a user