Jose Alberto Fernandez wrote:
1) When we do a release, the SVN "label" for the release must be located on the branches/ directory of SVN. This is because the plugin creates the "label", then changes the POMs to remove the SNAPSHOT and then tries to commit. By default committing on the tags/ directory is not allowed. As a result we finish with lots of branches/* and we really cannot easily distinguish any more between a release and a development branch.Are we using SVN or maven wrong? What is the best practice for this?
By default, the "release:prepare" step creates the release in the /tags directory.
Branches go by default in /branches, giving you the separation you want. Double check your config to make sure you are not overriding any defaults.
2) We are trying to impose a proper branching strategy to manage code freezes and release fixes. I have read much on this list about the subject but nothing near a recognize best practice that actually minimizes the amount of manual work required for branching and merging.
What we do is work on trunk, and then when it nears time to do a release, we branch a stabilisation branch.
The branch is tested, and fixes are applied to trunk and backported to the branch as needed.
A few tags might be cut from the branch as release candidates, and eventually the last tag goes into production as a release.
Rinse repeat. Regards, Graham --
smime.p7s
Description: S/MIME Cryptographic Signature
