Commit 8e063eb66b7a2a45854460a55797d7e05e03352d

Etienne Samson 2018-06-23T15:44:35

examples: make the refish resolution work with short OIDs

diff --git a/examples/common.c b/examples/common.c
index 2b4a062..772c20d 100644
--- a/examples/common.c
+++ b/examples/common.c
@@ -250,8 +250,8 @@ void *xrealloc(void *oldp, size_t newsz)
 int resolve_refish(git_annotated_commit **commit, git_repository *repo, const char *refish)
 {
 	git_reference *ref;
+	git_object *obj;
 	int err = 0;
-	git_oid oid;
 
 	assert(commit != NULL);
 
@@ -262,9 +262,10 @@ int resolve_refish(git_annotated_commit **commit, git_repository *repo, const ch
 		return 0;
 	}
 
-	err = git_oid_fromstr(&oid, refish);
+	err = git_revparse_single(&obj, repo, refish);
 	if (err == GIT_OK) {
-		err = git_annotated_commit_lookup(commit, repo, &oid);
+		err = git_annotated_commit_lookup(commit, repo, git_object_id(obj));
+		git_object_free(obj);
 	}
 
 	return err;