From 7e3b21ba55885d8dfaa1823a34a953c44b62d82c Mon Sep 17 00:00:00 2001 From: Alex Chamberlain Date: Thu, 23 Aug 2012 12:47:12 +0100 Subject: [PATCH] Added Repository.create_blob_fromfile --- include/pygit2/repository.h | 1 + src/pygit2/repository.c | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/include/pygit2/repository.h b/include/pygit2/repository.h index 10895ab..32780e0 100644 --- a/include/pygit2/repository.h +++ b/include/pygit2/repository.h @@ -50,6 +50,7 @@ PyObject* Repository_get_workdir(Repository *self, void *closure); PyObject* Repository_get_config(Repository *self, void *closure); PyObject* Repository_walk(Repository *self, PyObject *args); PyObject* Repository_create_blob(Repository *self, PyObject *args); +PyObject* Repository_create_blob_fromfile(Repository *self, PyObject *args); PyObject* Repository_create_commit(Repository *self, PyObject *args); PyObject* Repository_create_tag(Repository *self, PyObject *args); PyObject* Repository_listall_references(Repository *self, PyObject *args); diff --git a/src/pygit2/repository.c b/src/pygit2/repository.c index 6bac3b5..7650388 100644 --- a/src/pygit2/repository.c +++ b/src/pygit2/repository.c @@ -452,6 +452,24 @@ Repository_create_blob(Repository *self, PyObject *args) return git_oid_to_python(oid.id); } +PyObject * +Repository_create_blob_fromfile(Repository *self, PyObject *args) +{ + git_oid oid; + const char* path; + int err; + + if (!PyArg_ParseTuple(args, "s", &path)) + return NULL; + + err = git_blob_create_fromfile(&oid, self->repo, path); + + if (err < 0) + return Error_set(err); + + return git_oid_to_python(oid.id); +} + PyObject * Repository_create_commit(Repository *self, PyObject *args) { @@ -801,6 +819,9 @@ PyMethodDef Repository_methods[] = { {"create_blob", (PyCFunction)Repository_create_blob, METH_VARARGS, "Create a new blob from memory"}, + {"create_blob_fromfile", (PyCFunction)Repository_create_blob_fromfile, + METH_VARARGS, + "Create a new blob from file"}, {"create_reference", (PyCFunction)Repository_create_reference, METH_VARARGS, "Create a new reference \"name\" that points to the object given by its "