commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Struberg <>
Subject AW: AW: [releasing] SVN Tag creeated by maven
Date Wed, 13 May 2009 22:27:36 GMT

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.

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.

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?


----- Urspr√ľngliche Mail ----
> Von: Dan Fabulich <>
> An: Commons Developers List <>
> Gesendet: Mittwoch, den 13. Mai 2009, 22:54:05 Uhr
> Betreff: Re: AW: [releasing] SVN Tag creeated by maven
> Mark Struberg wrote:
> > 
> >> So if you tag the RC as DBUTILS_1_2_RC1 then the source code includes "RC1".
> If you then later copy that tag to "DBUTILS_1_2" the source code will still say 
> "RC1".
> > 
> > Sorry Dan, there are a lot things missing in mavens release process, but this 
> very thing is imho not a problem with maven but with the weirdness of SVN 
> handling tags. If you make a svn:copy, then you _will_ create_a_new_tag_! So 
> pom.xml still contains exactly that what has been released, and not only 
> pom.xml, but _ALL_ release artifacts e.g. the sources.tar.gz, etc. Renaming 
> tags, moving tags etc is essentially a no-no if you don't perform a build from 
> that exact location afterwards. SVN guaranties atomic operations - at least 
> _almost_ always. And I've seen a lot of weirdness in my last 20 years of using 
> SCMs where this 'almost' did matter a lot ;) If you have to make sure 100%, then 
> you have to build from the exact location.
> I agree that subversion tags are silly, and on many projects I own, I don't use 
> them; I just record the revision number in a wiki and call that a "tag."
> With that said, I don't actually want to release a binary from one tag and then 
> copy to another.  (I didn't mean to suggest that I wanted that in my previous 
> reply.)
> I just wish the source code files didn't contain a line saying "This is RC3"; 
> because then, when we decide that RC3 is final, I have to change the code one 
> last time to make it actually final.
> > What's wrong with the maven-staging? You tag as if you do a release (with 
> exact that tag in SVN and pom.xml) but the results will not be deployed to the 
> final repo but only to a staging repo. Maybe I only missed that part of the 
> discussion, sorry for the noise then.
> To recap: Performing the release "as if" it were final is a wise workaround, but 
> when you use the release plugin to do it, it will create a tag for you, which 
> creates a riddle as to whether you want to call the tag "_RC3" or whether you 
> want to just give it the final name, forcing you to modify the tag 
> (delete/recreate) if RC4 is necessary.  (The idea here being that 
> deleting/recreating tags is bad.)
> -Dan
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message