Merge remote-tracking branch 'bors/v0.18.1'
API change: - Rename Repository.create_blob_fromfile to Repository.create_blob_fromworkdir
This commit is contained in:
@@ -575,13 +575,13 @@ Repository_create_blob(Repository *self, PyObject *args)
|
||||
}
|
||||
|
||||
|
||||
PyDoc_STRVAR(Repository_create_blob_fromfile__doc__,
|
||||
"create_blob_fromfile(path) -> bytes\n"
|
||||
PyDoc_STRVAR(Repository_create_blob_fromworkdir__doc__,
|
||||
"create_blob_fromworkdir(path) -> bytes\n"
|
||||
"\n"
|
||||
"Create a new blob from file.");
|
||||
"Create a new blob from a file within the working directory.");
|
||||
|
||||
PyObject *
|
||||
Repository_create_blob_fromfile(Repository *self, PyObject *args)
|
||||
Repository_create_blob_fromworkdir(Repository *self, PyObject *args)
|
||||
{
|
||||
git_oid oid;
|
||||
const char* path;
|
||||
@@ -598,6 +598,29 @@ Repository_create_blob_fromfile(Repository *self, PyObject *args)
|
||||
}
|
||||
|
||||
|
||||
PyDoc_STRVAR(Repository_create_blob_fromdisk__doc__,
|
||||
"create_blob_fromdisk(path) -> bytes\n"
|
||||
"\n"
|
||||
"Create a new blob from file.");
|
||||
|
||||
PyObject *
|
||||
Repository_create_blob_fromdisk(Repository *self, PyObject *args)
|
||||
{
|
||||
git_oid oid;
|
||||
const char* path;
|
||||
int err;
|
||||
|
||||
if (!PyArg_ParseTuple(args, "s", &path))
|
||||
return NULL;
|
||||
|
||||
err = git_blob_create_fromdisk(&oid, self->repo, path);
|
||||
if (err < 0)
|
||||
return Error_set(err);
|
||||
|
||||
return git_oid_to_python(oid.id);
|
||||
}
|
||||
|
||||
|
||||
PyDoc_STRVAR(Repository_create_commit__doc__,
|
||||
"create_commit(reference, author, committer, message, tree, parents[, encoding]) -> bytes\n"
|
||||
"\n"
|
||||
@@ -1178,7 +1201,8 @@ Repository_lookup_note(Repository *self, PyObject* args)
|
||||
|
||||
PyMethodDef Repository_methods[] = {
|
||||
METHOD(Repository, create_blob, METH_VARARGS),
|
||||
METHOD(Repository, create_blob_fromfile, METH_VARARGS),
|
||||
METHOD(Repository, create_blob_fromworkdir, METH_VARARGS),
|
||||
METHOD(Repository, create_blob_fromdisk, METH_VARARGS),
|
||||
METHOD(Repository, create_commit, METH_VARARGS),
|
||||
METHOD(Repository, create_tag, METH_VARARGS),
|
||||
METHOD(Repository, TreeBuilder, METH_VARARGS),
|
||||
|
@@ -29,6 +29,7 @@
|
||||
|
||||
from __future__ import absolute_import
|
||||
from __future__ import unicode_literals
|
||||
import os
|
||||
import unittest
|
||||
|
||||
import pygit2
|
||||
@@ -73,9 +74,9 @@ class BlobTest(utils.RepoTestCase):
|
||||
self.assertEqual(len(BLOB_NEW_CONTENT), blob.size)
|
||||
self.assertEqual(BLOB_NEW_CONTENT, blob.read_raw())
|
||||
|
||||
def test_create_blob_fromfile(self):
|
||||
def test_create_blob_fromworkdir(self):
|
||||
|
||||
blob_oid = self.repo.create_blob_fromfile("bye.txt")
|
||||
blob_oid = self.repo.create_blob_fromworkdir("bye.txt")
|
||||
blob = self.repo[blob_oid]
|
||||
|
||||
self.assertTrue(isinstance(blob, pygit2.Blob))
|
||||
@@ -90,5 +91,19 @@ class BlobTest(utils.RepoTestCase):
|
||||
self.assertEqual(len(BLOB_FILE_CONTENT), blob.size)
|
||||
self.assertEqual(BLOB_FILE_CONTENT, blob.read_raw())
|
||||
|
||||
def test_create_blob_outside_workdir(self):
|
||||
|
||||
path = os.path.join(os.path.dirname(__file__), 'data', self.repo_dir + '.tar')
|
||||
self.assertRaises(KeyError, self.repo.create_blob_fromworkdir, path)
|
||||
|
||||
def test_create_blob_fromdisk(self):
|
||||
|
||||
path = os.path.join(os.path.dirname(__file__), 'data', self.repo_dir + '.tar')
|
||||
blob_oid = self.repo.create_blob_fromdisk(path)
|
||||
blob = self.repo[blob_oid]
|
||||
|
||||
self.assertTrue(isinstance(blob, pygit2.Blob))
|
||||
self.assertEqual(pygit2.GIT_OBJ_BLOB, blob.type)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
Reference in New Issue
Block a user