You aren't *supposed* to commit to tags, though.

On Tue, Aug 4, 2009 at 5:00 AM, Martijn
Dashorst<martijn.dasho...@gmail.com> wrote:
> I can commit to a tag just as good as to the release branch. There is no 
> spoon.
>
> Martijn
>
> On Tue, Aug 4, 2009 at 10:56 AM, James
> Carman<jcar...@carmanconsulting.com> wrote:
>> Ok, so show me how you would re-create the 1.4.0 release as it was
>> when it was released.  What SVN URL would you use to do that?  If
>> someone has checked in changes into your "release branch", you're
>> going to need to find what version (SVN version) was used along with
>> that URL to re-create the 1.4.0 release.  It doesn't make sense to
>> have a non-SNAPSHOT version in your branch.  Once a release is out,
>> it's out.  You can't re-release 1.4.0 with different source code
>> (you'd have to do a 1.4.1 release).
>>
>> This is *not* normal SVN usage.  Take a look at:
>>
>> http://svnbook.red-bean.com/en/1.5/svn.branchmerge.commonpatterns.html
>>
>>   1.  Developers commit all new work to the trunk. Day-to-day changes
>> are committed to /trunk: new features, bug fixes, and so on.
>>   2.  The trunk is copied to a “release” branch. When the team thinks
>> the software is ready for release (say, a 1.0 release), /trunk might
>> be copied to /branches/1.0.
>>   3.  Teams continue to work in parallel. One team begins rigorous
>> testing of the release branch, while another team continues new work
>> (say, for version 2.0) on /trunk. If bugs are discovered in either
>> location, fixes are ported back and forth as necessary. At some point,
>> however, even that process stops. The branch is “frozen” for final
>> testing right before a release.
>>   4.  The branch is tagged and released. When testing is complete,
>> /branches/1.0 is copied to /tags/1.0.0 as a reference snapshot. The
>> tag is packaged and released to customers.
>>   5.  The branch is maintained over time. While work continues on
>> /trunk for version 2.0, bug fixes continue to be ported from /trunk to
>> /branches/1.0. When enough bug fixes have accumulated, management may
>> decide to do a 1.0.1 release: /branches/1.0 is copied to /tags/1.0.1,
>> and the tag is packaged and released.
>>
>> I'm "barking up the tree" because I am a member of the Wicket
>> community and an Apache Software Foundation member.  We need to make
>> sure we're doing things the right way.  The right way should coincide
>> with the way other folks reasonably expect it to work.  This is not
>> how the Maven release plugin does releases.  It does it like this
>> (which is the normal way Maven/SVN folks expect releases to work):
>>
>>    * Check that there are no uncommitted changes in the sources
>>    * Check that there are no SNAPSHOT dependencies
>>    * Change the version in the poms from x-SNAPSHOT to a new version
>> (you will be prompted for the versions to use)
>>    * Transform the SCM information in the POM to include the final
>> destination of the tag
>>    * Run the project tests against the modified POMs to confirm
>> everything is in working order
>>    * Commit the modified POMs
>>    * Tag the code in the SCM with a version name (this will be prompted for)
>>    * Bump the version in the POMs to a new value y-SNAPSHOT (these
>> values will also be prompted for)
>>    * Commit the modified POMs
>>
>>
>> On Tue, Aug 4, 2009 at 4:41 AM, Martijn
>> Dashorst<martijn.dasho...@gmail.com> wrote:
>>> This has been the process since I've been release manager. Create tag
>>> when we cut the release, create release branch where we build the
>>> release from the tag, release it. If there's a issue, repeat. This way
>>> release artifacts don't pollute the main development stream, which is
>>> rather normal SVN usage. This way you don't have release specific
>>> commits pollute the diffs between releases. Only actual commits that
>>> are part of our normal development cycle are between release *tags*.
>>> Everything else that is specific for a release is in the release
>>> branch. And each release gets its own release branch.
>>>
>>> I'm not sure why you are barking up the tree though.
>>>
>>> Martijn
>>>
>>> On Tue, Aug 4, 2009 at 10:32 AM, James
>>> Carman<jcar...@carmanconsulting.com> wrote:
>>>> On Tue, Aug 4, 2009 at 4:25 AM, Martijn
>>>> Dashorst<martijn.dasho...@gmail.com> wrote:
>>>>> I beg to differ: the way it is currently setup is the way we have done
>>>>> it since inception of wicket.
>>>>
>>>> No, I beg to differ.  You haven't been doing it that way.  Take a look at:
>>>>
>>>> http://svn.apache.org/repos/asf/wicket/tags/wicket-1.3.6/pom.xml
>>>>
>>>> That is a release tag and it doesn't have a SNAPSHOT version.
>>>>
>>>>>
>>>>> tag -> the moment where we cut the release
>>>>> release -> the branch where the commits go to actually build the release
>>>>
>>>> Tags are supposed to be immutable.  What would be the purpose of
>>>> creating a SNAPSHOT tag, unless you're taking a snapshot of the source
>>>> before some major refactoring or something?  The wicket-{release
>>>> version} tags should be reserved for release tags (and thus the
>>>> pom.xml wouldn't have SNAPSHOT versions in them).  The release tags
>>>> should be able to be used to re-create the release.  You have to have
>>>> a tag for that or else your "release" branch (which you said gets
>>>> committed to) would be altered and it would differ from the actual
>>>> release (and thus you wouldn't be able to re-create the original
>>>> release with it easily).
>>>>
>>>> Why would you go against the way that everyone else uses SVN?
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Become a Wicket expert, learn from the best: http://wicketinaction.com
>>> Apache Wicket 1.4 increases type safety for web applications
>>> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.0
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>
>
>
> --
> Become a Wicket expert, learn from the best: http://wicketinaction.com
> Apache Wicket 1.4 increases type safety for web applications
> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.0
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to