Lookup a commit object from a repository. The generated commit object is owned by the revision repo and shall not be freed by the user.
pointer to the looked up commit
the repo to use when locating the commit.
identity of the commit to locate. If the object is an annotated tag it will be peeled back to the commit.
0 on success; error code otherwise