Mark Struberg wrote:
You are right, but maybe we mix up two things:
a) In almost all other SCMs (except SVN) a tag is a 'reference' to a
specific version. In SVN it's a copy (virtually a readonly branch) so
you cannot have multiple tags on the same revision. -> the rettagging
isn't valid because it's _not_ physically the same.
This is a philosophical question of source code identity. Is a copy of
source code "the same" as the original? What about a symlink? SVN copies
are "lightweight;" they're more like symlinks than true copies. Questions
like these have no right answer IMO.
b) for SVN it's imho perfectly ok to delete a copy which is erronous,
because you don't touch trunk here. So a RC which never got deployed to
another area than staging may imho safely be deleted/rollbacked.
It's not "unsafe" to delete/recreate a tag, but it does violate the
convention that tags are read-only copies. It's certainly not ideal.
Maybe a mixed scenario would work. Doing development, calling a
X-RC-[1-n] if all is ok, do a X release:prepare release:stage, call a
vote on that stage, if it passes do a release:perform. That should
combine the best parts of both processes, wdyt?
We can't do it quite like that, because release:perform creates a new
binary; we have to vote on the final binary. Typically Apache projects
who use release:stage use it *instead* of release:perform.
(The way we use it, release:perform is run with a -Prc profile, so it
basically is release:stage for all intents and purposes.)
But let's suppose we did what you said, except don't do the final
release:perform, just release:prepare, then release:stage, vote, and then
manually release the staged RC (perhaps using maven-stage-plugin).
Even then, the tag riddle is in release:prepare. release:prepare is the
one that creates the tag, unfortunately. If you need to do multiple RCs,
you have to run release:prepare multiple times, and that means
deleting/recreating the tag every time like we do today.
If you think deleting/recreating the tag is totally fine, then this won't
bother you; we'll just stick with the release process we have today.
But if it bothers you that our tags are mutable, then you'll yearn for
some better solution; arguably, Maven is unwilling/unable to provide that
solution right now.
-Dan
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org