diff options
author | Vicent Martà <tanoku@gmail.com> | 2012-02-22 16:06:33 -0800 |
---|---|---|
committer | Vicent Martà <tanoku@gmail.com> | 2012-02-22 16:06:33 -0800 |
commit | 36d72a5125b28a381b240b1bc506bcf2d59c94b7 (patch) | |
tree | 9c9d5ffe6d0c344d1a0eb6f8015efebc4da47308 /tests-clar/diff/diff_helpers.c | |
parent | 8d36b253e2a96b493f45ebc89260627c002b0bab (diff) | |
parent | 0534641dfec001794ae9a83cfd1cfc7acaef97b7 (diff) | |
download | libgit2-36d72a5125b28a381b240b1bc506bcf2d59c94b7.tar.gz |
Merge pull request #570 from arrbee/uniform-iterators
Uniform iterators for trees, index, and workdir
Diffstat (limited to 'tests-clar/diff/diff_helpers.c')
-rw-r--r-- | tests-clar/diff/diff_helpers.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests-clar/diff/diff_helpers.c b/tests-clar/diff/diff_helpers.c new file mode 100644 index 000000000..b2dbe9ee7 --- /dev/null +++ b/tests-clar/diff/diff_helpers.c @@ -0,0 +1,22 @@ +#include "clar_libgit2.h" +#include "diff_helpers.h" + +git_tree *resolve_commit_oid_to_tree( + git_repository *repo, + const char *partial_oid) +{ + size_t len = strlen(partial_oid); + git_oid oid; + git_object *obj; + git_tree *tree; + + if (git_oid_fromstrn(&oid, partial_oid, len) == 0) + git_object_lookup_prefix(&obj, repo, &oid, len, GIT_OBJ_ANY); + cl_assert(obj); + if (git_object_type(obj) == GIT_OBJ_TREE) + return (git_tree *)obj; + cl_assert(git_object_type(obj) == GIT_OBJ_COMMIT); + cl_git_pass(git_commit_tree(&tree, (git_commit *)obj)); + git_object_free(obj); + return tree; +} |