]>
git.proxmox.com Git - libgit2.git/blob - tests-clar/diff/diff_helpers.c
1 #include "clar_libgit2.h"
2 #include "diff_helpers.h"
4 git_tree
*resolve_commit_oid_to_tree(
6 const char *partial_oid
)
8 size_t len
= strlen(partial_oid
);
10 git_object
*obj
= NULL
;
11 git_tree
*tree
= NULL
;
13 if (git_oid_fromstrn(&oid
, partial_oid
, len
) == 0)
14 git_object_lookup_prefix(&obj
, repo
, &oid
, len
, GIT_OBJ_ANY
);
16 if (git_object_type(obj
) == GIT_OBJ_TREE
)
17 return (git_tree
*)obj
;
18 cl_assert(git_object_type(obj
) == GIT_OBJ_COMMIT
);
19 cl_git_pass(git_commit_tree(&tree
, (git_commit
*)obj
));
26 git_diff_delta
*delta
,
29 diff_expects
*e
= cb_data
;
32 switch (delta
->status
) {
33 case GIT_DELTA_ADDED
: e
->file_adds
++; break;
34 case GIT_DELTA_DELETED
: e
->file_dels
++; break;
35 case GIT_DELTA_MODIFIED
: e
->file_mods
++; break;
36 case GIT_DELTA_IGNORED
: e
->file_ignored
++; break;
37 case GIT_DELTA_UNTRACKED
: e
->file_untracked
++; break;
45 git_diff_delta
*delta
,
46 git_diff_range
*range
,
50 diff_expects
*e
= cb_data
;
55 e
->hunk_old_lines
+= range
->old_lines
;
56 e
->hunk_new_lines
+= range
->new_lines
;
62 git_diff_delta
*delta
,
67 diff_expects
*e
= cb_data
;
72 switch (line_origin
) {
73 case GIT_DIFF_LINE_CONTEXT
:
76 case GIT_DIFF_LINE_ADDITION
:
77 case GIT_DIFF_LINE_ADD_EOFNL
:
80 case GIT_DIFF_LINE_DELETION
:
81 case GIT_DIFF_LINE_DEL_EOFNL
: