fixed index_add and index_get for current development branch of libgit2

This commit is contained in:
Nico von Geyso 2012-11-01 14:30:57 +01:00
parent ee2813251b
commit f1a72fb2e8
2 changed files with 10 additions and 27 deletions
src/pygit2
test

@ -84,12 +84,12 @@ Index_add(Index *self, PyObject *args)
{
int err;
const char *path;
int stage=0;
git_index_entry* entry;
if (!PyArg_ParseTuple(args, "s|i", &path, &stage))
if (!PyArg_ParseTuple(args, "s", &path))
return NULL;
err = git_index_add(self->index, path, stage);
err = git_index_add_from_workdir(self->index, path);
if (err < 0)
return Error_set_str(err, path);
@ -281,7 +281,7 @@ Index_getitem(Index *self, PyObject *value)
if (idx == -1)
return NULL;
index_entry = git_index_get(self->index, idx);
index_entry = git_index_get_byindex(self->index, idx);
if (!index_entry) {
PyErr_SetObject(PyExc_KeyError, value);
return NULL;
@ -293,26 +293,9 @@ Index_getitem(Index *self, PyObject *value)
int
Index_setitem(Index *self, PyObject *key, PyObject *value)
{
int err;
int idx;
if (value) {
PyErr_SetString(PyExc_NotImplementedError,
"set item on index not yet implemented");
return -1;
}
idx = Index_get_position(self, key);
if (idx == -1)
return -1;
err = git_index_remove(self->index, idx);
if (err < 0) {
Error_set(err);
return -1;
}
return 0;
PyErr_SetString(PyExc_NotImplementedError,
"set item on index not yet implemented");
return -1;
}
PyObject *
@ -447,7 +430,7 @@ IndexIter_iternext(IndexIter *self)
{
git_index_entry *index_entry;
index_entry = git_index_get(self->owner->index, self->i);
index_entry = git_index_get_byindex(self->owner->index, self->i);
if (!index_entry)
return NULL;

@ -80,7 +80,7 @@ class IndexTest(utils.RepoTestCase):
def test_write(self):
index = self.repo.index
index.add('bye.txt', 0)
index.add('bye.txt')
index.write()
index.clear()
@ -133,7 +133,7 @@ class IndexTest(utils.RepoTestCase):
self.assertEqual([x.hex for x in index],
[x.hex for x in self.repo.index])
self.assertRaises(pygit2.GitError, lambda: index.add('bye.txt', 0))
self.assertRaises(pygit2.GitError, lambda: index.add('bye.txt'))
if __name__ == '__main__':
unittest.main()