Create a new tag in the repository from an OID
Pointer where to store the OID of the newly created tag. If the tag already exists, this parameter will be the oid of the existed tag, and the function will return a GIT_EEXISTS error code.
Name for the tag; this name is validated for consistency. It should also not conflict with an already existing tag name
OID to which this tag points; note that no validation is done on this OID. Use the _o version of this method to assure a proper object is being tagged
Full message for this tag
0 on success; error code otherwise. A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it