From 6ea9381b01ad18616e009ed72bd9266d4a37865b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Fri, 14 Dec 2018 14:43:09 +0100 Subject: annotated_commit: peel to commit instead of assuming we have one We want to allow the creation of annotated commits out of annotated tags and for that we have to peel the reference all the way to the commit instead of stopping at the first id it provides. --- src/annotated_commit.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/annotated_commit.c b/src/annotated_commit.c index 3d982cbb4..d95d44093 100644 --- a/src/annotated_commit.c +++ b/src/annotated_commit.c @@ -123,19 +123,19 @@ int git_annotated_commit_from_ref( git_repository *repo, const git_reference *ref) { - git_reference *resolved; + git_object *peeled; int error = 0; assert(out && repo && ref); *out = NULL; - if ((error = git_reference_resolve(&resolved, ref)) < 0) + if ((error = git_reference_peel(&peeled, ref, GIT_OBJ_COMMIT)) < 0) return error; error = annotated_commit_init_from_id(out, repo, - git_reference_target(resolved), + git_object_id(peeled), git_reference_name(ref)); if (!error) { @@ -143,7 +143,7 @@ int git_annotated_commit_from_ref( GITERR_CHECK_ALLOC((*out)->ref_name); } - git_reference_free(resolved); + git_object_free(peeled); return error; } -- cgit v1.2.1