Commit 23123151 by David Glesser

Set the oid when a tag already exists.

When a tag already exists, it can be useful to directly have the oid
of the existed tag, just after trying to add it.
parent 448c4d01
......@@ -135,7 +135,9 @@ GIT_EXTERN(const char *) git_tag_message(git_tag *t);
* Create a new tag in the repository from an OID
*
* @param oid Pointer where to store the OID of the
* newly created tag
* 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.
*
* @param repo Repository where to store the tag
*
......
......@@ -205,8 +205,10 @@ static int tag_create(
switch (error) {
case GIT_SUCCESS:
if (!allow_ref_overwrite)
if (!allow_ref_overwrite) {
git_oid_cpy(oid, git_reference_oid(new_ref));
return git__throw(GIT_EEXISTS, "Tag already exists");
}
should_update_ref = 1;
/* Fall trough */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment