From 8b71a8045be73ff6a1abcc7ac68bbbc036ecf91b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= <carlos@cmartin.tk> Date: Mon, 13 Feb 2012 15:00:39 +0100 Subject: [PATCH] Allow a 'source' arg to TreeBuilder() --- pygit2.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/pygit2.c b/pygit2.c index 0d2796a..63b49b4 100644 --- a/pygit2.c +++ b/pygit2.c @@ -1598,10 +1598,22 @@ static PyTypeObject TreeType = { static int TreeBuilder_init(TreeBuilder *self, PyObject *args, PyObject *kwds) { - PyObject *py_name; + Tree *py_tree = NULL; + git_tree *tree; int err; - err = git_treebuilder_create(&self->bld, NULL); + if (kwds) { + PyErr_SetString(PyExc_TypeError, + "TreeBuilder takes no keyword arguments"); + return -1; + } + + if (!PyArg_ParseTuple(args, "|O", &py_tree)) + return -1; + + tree = py_tree == NULL ? NULL : py_tree->tree; + + err = git_treebuilder_create(&self->bld, tree); if (err < 0) { Error_set(err); return -1;