Merge remote-tracking branch 'drodriguez/remote-save'

This commit is contained in:
J. David Ibáñez 2013-05-30 10:05:19 +02:00
commit 4b01309cd7
3 changed files with 33 additions and 0 deletions

@ -14,3 +14,4 @@ The Remote type
.. autoattribute:: pygit2.Remote.url
.. autoattribute:: pygit2.Remote.fetchspec
.. automethod:: pygit2.Remote.fetch
.. automethod:: pygit2.Remote.save

@ -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):