Add binary for patch.
This commit is contained in:
parent
9c13be8dec
commit
d0b366e866
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->status = git_diff_status_char(delta->status);
|
||||
py_patch->similarity = delta->similarity;
|
||||
py_patch->flags = delta->flags;
|
||||
py_patch->old_oid = git_oid_allocfmt(&delta->old_file.oid);
|
||||
py_patch->new_oid = git_oid_allocfmt(&delta->new_file.oid);
|
||||
|
||||
@ -155,6 +156,22 @@ PyMemberDef Patch_members[] = {
|
||||
{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.");
|
||||
|
||||
PyTypeObject PatchType = {
|
||||
@ -187,7 +204,7 @@ PyTypeObject PatchType = {
|
||||
0, /* tp_iternext */
|
||||
0, /* tp_methods */
|
||||
Patch_members, /* tp_members */
|
||||
0, /* tp_getset */
|
||||
Patch_getseters, /* tp_getset */
|
||||
0, /* tp_base */
|
||||
0, /* tp_dict */
|
||||
0, /* tp_descr_get */
|
||||
|
@ -113,6 +113,7 @@ typedef struct {
|
||||
char* new_oid;
|
||||
char status;
|
||||
unsigned similarity;
|
||||
unsigned flags;
|
||||
} Patch;
|
||||
|
||||
typedef struct {
|
||||
|
@ -175,6 +175,7 @@ class DiffTest(utils.BareRepoTestCase):
|
||||
|
||||
self.assertEqual(patch.old_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(self.repo.diff(COMMIT_SHA1_1, COMMIT_SHA1_2))
|
||||
|
Loading…
x
Reference in New Issue
Block a user