[ 
https://issues.apache.org/jira/browse/MRELEASE-845?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17001914#comment-17001914
 ] 

Sebb commented on MRELEASE-845:
-------------------------------

I don't see why this would be considered a breaking change.
Even if it is, the current behaviour is broken/unsafe, and should be fixed.

> Improvements to processing strategy
> -----------------------------------
>
>                 Key: MRELEASE-845
>                 URL: https://issues.apache.org/jira/browse/MRELEASE-845
>             Project: Maven Release Plugin
>          Issue Type: Improvement
>            Reporter: Sebb
>            Priority: Major
>
> AIUI the present behaviour is as follows (assume trunk is 1.0-SNAPSHOT)
> * update trunk poms <scm> to tags/1.0 and version to 1.0
> * create tags/1.0 from trunk workspace
> * update <scm> to trunk and trunk to 1.1-SNAPSHOT
> This is not ideal for the following reasons:
> * Trunk is temporarily set to a non-SNAPSHOT version. This causes problems 
> for CI servers. Trunk should never be set to a non-SNAPSHOT version, even 
> briefly.
> * trunk is updated to the next snapshot version, even though the release vote 
> may fail. That has two disadvantages: 
> + CI servers may deploy 1.1-SNAPSHOT versions during the release vote. If the 
> release vote fails any subsequent snapshots from trunk will appear to be 
> older until such time as the release vote succeeds or someone deletes the 
> incorrect snapshots.
> + failures require downdating trunk before any fixes can be made. This 
> creates a lot of unnecessary noise on the commit mail list.
> There's another issue: when the tag is created, it is created with the final 
> tag name, e.g. tags/xyz_1.0. If the vote fails, then the tag has to be 
> deleted. However tags should be immutable.
> What I think should happen is as follows:
> release candidate preparation
> =============================
> Trunk is not updated (only checked for SNAPSHOT).
> A new working copy is created from trunk.
> The poms are updated to the non-SNAPSHOT version, and the <scm> entries are 
> updated to the final tag name.
> A new tag is created from the workspace with an RC1 suffix. 
> Note: this is different from the <scm> entries, which don't have the suffix.
> release candidate failure
> =========================
> The trunk pom is updated with the new RC version (RC2)
> Any required fixes are made and a new RC2 tag created as above
> Repeat as needed.
> release candidate success
> =========================
> The release tag is copied to the final tag (i.e. dropping the RCm suffix)
> Trunk is updated to 1.1-SNAPSHOT
> Failed RCn tags can be deleted if required.
> ===
> The advantage of the revised process is that trunk is only updated when 
> necessary; it is never in a transient (or incorrect) state. Also tags are 
> immutable.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to