Consent to the tag is completely wrong, in my opinion, although svn, by design, allows this.
Say you have v1.2.3 release and you pass this tag - you get what? Still v1.2.3 or 1.2.3a or something like that? How do you restore version 1.2.3 later?
However, in git you can recreate tags. But I'm not sure that you should do this for any other case than โI accidentally marked the wrong versionโ or in case you have โmovingโ tags, such as โlast stable revisionโ.
In git you can do:
git branch v1.2.3-bugfix v1.2.3 [v1.2.3-bugfix is your branch, v1.2.3 the tag] git checkout v1.2.3-bugfix -- do your changes -- git add ... git commit git tag -f v1.2.3
That is, first you create a branch, starting with your tag. Then you check this branch (there is a shortcut for this via git checkout -b). You make changes and recreate the tag.
You can subsequently delete your bugfix branch.
source share