I have made a tag in mercurial:
hg tag release_123
Later on I found out that the name was wrong, it should be release_124
. Is it pos
If you are using TortoiseHg, its pretty simple:
case#1 if it's a local tag: right click a tagged change-set|tag...|Select tag |Options |Replace existing tag | Done < local tag will disappear>
case#2 if its global tag: right click a tagged change-set|tag...| Select tag| Options | Replace existing tag | Remove Now select change-set and create new tag (its like a renamed tag). Not in one click though :-)
I would do it by removing the tag and then adding a new tag with the new name
The Mercurial tag wiki explains how to remove a tag:
How do I remove a tag?
Either by
hg tag --remove tagname
(this being the nearest equivalent to
cvs tag -d
)
adding
tagname 0000000000000000000000000000000000000000
to the end of.hgtags
removing all references to
tagname
in.hgtags
(but this might confuse the multiple-head tag collision resolution algorithm)
I've been looking for a solution to same issue: I found this command which creates another tag with copied from the previous one with a new name. But it does not remove the old one. It has to be deleted manually.
Rename a tag :
hg tag -f -r
To delete the old tag:
hg tag --remove
Like what @matt-ellen has said, but in reverse. Because I like to be sure the revision is tagged properly before I delete the old tag.
Here I create an example of a repo with 4 revisions.
Example:
$ hg log
changeset: 3:271cb2836c23
user: user <you@example.com>
date: Sat Mar 01 13:49:55 2014 -0600
summary: Very important things.
changeset: 2:3c953ee62faf
user: user <you@example.com>
date: Wed Feb 26 00:17:55 2014 -0600
summary: Did some changes.
changeset: 1:54e2275eed1e
user: user <you@example.com>
date: Tue Feb 25 01:34:31 2014 -0600
summary: So, lots of things here.
changeset: 0:3f3e1aee4e14
user: user <you@example.com>
date: Sat Feb 22 00:42:29 2014 -0600
summary: Inital project checkin.
$ hg tags
tip 3:271cb2836c23
$ hg tag -r 3c953ee62faf release_123
$ hg tags
tip 3:271cb2836c23
release_123 2:3c953ee62faf
$ hg tag -r 3c953ee62faf release_124
$ hg tags
tip 3:271cb2836c23
release_123 2:3c953ee62faf
release_124 2:3c953ee62faf
$ hg tag --remove release_123
$ hg tags
tip 3:271cb2836c23
release_124 2:3c953ee62faf
You should be able to edit regular tags in the .hgtags
file (and commit it)
A "regular" tag (with no special specifier) is revision controlled, does propagate with other changes, and lives in the
.hgtags
file in a repository.
This old thread mentions you need to do this in all HEADS of a repo though.