diff --git a/pygit2.c b/pygit2.c index 54862a3..47e875b 100644 --- a/pygit2.c +++ b/pygit2.c @@ -652,7 +652,7 @@ Repository_create_commit(Repository *self, PyObject *args) PyObject *py_oid, *py_message, *py_parents, *py_parent; PyObject *py_result = NULL; git_signature *author = NULL, *committer = NULL; - char *message, *update_ref, *encoding; + char *message, *update_ref, *encoding = NULL; git_oid oid; git_tree *tree = NULL; int parent_count; @@ -660,14 +660,14 @@ Repository_create_commit(Repository *self, PyObject *args) int err = 0, i = 0; size_t len; - if (!PyArg_ParseTuple(args, "zO!O!zOOO!", + if (!PyArg_ParseTuple(args, "zO!O!OOO!|s", &update_ref, &PyTuple_Type, &py_author, &PyTuple_Type, &py_committer, - &encoding, &py_message, &py_oid, - &PyList_Type, &py_parents)) + &PyList_Type, &py_parents, + &encoding)) return NULL; author = py_signature_to_git_signature(py_author, encoding); diff --git a/test/test_commit.py b/test/test_commit.py index 322ac01..71716a2 100644 --- a/test/test_commit.py +++ b/test/test_commit.py @@ -75,9 +75,9 @@ class CommitTest(utils.BareRepoTestCase): parents = [COMMIT_SHA[:5]] self.assertRaises(ValueError, repo.create_commit, None, author, - committer, None, message, too_short_prefix, parents) + committer, message, too_short_prefix, parents) - sha = repo.create_commit(None, author, committer, None, message, + sha = repo.create_commit(None, author, committer, message, tree_prefix, parents) commit = repo[sha] @@ -102,8 +102,8 @@ class CommitTest(utils.BareRepoTestCase): tree_prefix = tree[:5] parents = [COMMIT_SHA[:5]] - sha = repo.create_commit(None, author, committer, 'iso-8859-1', - message, tree_prefix, parents) + sha = repo.create_commit(None, author, committer, message, + tree_prefix, parents, 'iso-8859-1') commit = repo[sha] self.assertEqual(GIT_OBJ_COMMIT, commit.type)