Add binary for patch.
This commit is contained in:
19
src/diff.c
19
src/diff.c
@@ -81,6 +81,7 @@ diff_get_patch_byindex(git_diff_list* list, size_t idx)
|
|||||||
py_patch->new_file_path = delta->new_file.path;
|
py_patch->new_file_path = delta->new_file.path;
|
||||||
py_patch->status = git_diff_status_char(delta->status);
|
py_patch->status = git_diff_status_char(delta->status);
|
||||||
py_patch->similarity = delta->similarity;
|
py_patch->similarity = delta->similarity;
|
||||||
|
py_patch->flags = delta->flags;
|
||||||
py_patch->old_oid = git_oid_allocfmt(&delta->old_file.oid);
|
py_patch->old_oid = git_oid_allocfmt(&delta->old_file.oid);
|
||||||
py_patch->new_oid = git_oid_allocfmt(&delta->new_file.oid);
|
py_patch->new_oid = git_oid_allocfmt(&delta->new_file.oid);
|
||||||
|
|
||||||
@@ -155,6 +156,22 @@ PyMemberDef Patch_members[] = {
|
|||||||
{NULL}
|
{NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
PyDoc_STRVAR(Patch_binary__doc__, "Binary.");
|
||||||
|
|
||||||
|
PyObject *
|
||||||
|
Patch_binary__get__(Patch *self)
|
||||||
|
{
|
||||||
|
if (!(self->flags & GIT_DIFF_FLAG_NOT_BINARY) &&
|
||||||
|
(self->flags & GIT_DIFF_FLAG_BINARY))
|
||||||
|
Py_RETURN_TRUE;
|
||||||
|
Py_RETURN_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
PyGetSetDef Patch_getseters[] = {
|
||||||
|
GETTER(Patch, binary),
|
||||||
|
{NULL}
|
||||||
|
};
|
||||||
|
|
||||||
PyDoc_STRVAR(Patch__doc__, "Diff patch object.");
|
PyDoc_STRVAR(Patch__doc__, "Diff patch object.");
|
||||||
|
|
||||||
PyTypeObject PatchType = {
|
PyTypeObject PatchType = {
|
||||||
@@ -187,7 +204,7 @@ PyTypeObject PatchType = {
|
|||||||
0, /* tp_iternext */
|
0, /* tp_iternext */
|
||||||
0, /* tp_methods */
|
0, /* tp_methods */
|
||||||
Patch_members, /* tp_members */
|
Patch_members, /* tp_members */
|
||||||
0, /* tp_getset */
|
Patch_getseters, /* tp_getset */
|
||||||
0, /* tp_base */
|
0, /* tp_base */
|
||||||
0, /* tp_dict */
|
0, /* tp_dict */
|
||||||
0, /* tp_descr_get */
|
0, /* tp_descr_get */
|
||||||
|
@@ -113,6 +113,7 @@ typedef struct {
|
|||||||
char* new_oid;
|
char* new_oid;
|
||||||
char status;
|
char status;
|
||||||
unsigned similarity;
|
unsigned similarity;
|
||||||
|
unsigned flags;
|
||||||
} Patch;
|
} Patch;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@@ -175,6 +175,7 @@ class DiffTest(utils.BareRepoTestCase):
|
|||||||
|
|
||||||
self.assertEqual(patch.old_file_path, 'a')
|
self.assertEqual(patch.old_file_path, 'a')
|
||||||
self.assertEqual(patch.new_file_path, 'a')
|
self.assertEqual(patch.new_file_path, 'a')
|
||||||
|
self.assertEqual(patch.binary, False)
|
||||||
|
|
||||||
_test(commit_a.tree.diff_to_tree(commit_b.tree))
|
_test(commit_a.tree.diff_to_tree(commit_b.tree))
|
||||||
_test(self.repo.diff(COMMIT_SHA1_1, COMMIT_SHA1_2))
|
_test(self.repo.diff(COMMIT_SHA1_1, COMMIT_SHA1_2))
|
||||||
|
Reference in New Issue
Block a user