Há pouco tempo me deparei com uma certa dificuldade em gerar a release de um branch que eu havia criado. Isso se deve ao fato de termos mudado de SVN para Git recentemente.
A nossa linha de desenvolvimento é no trunk, reservamos as branches somente para corrigirmos bugs que aparecem em produção em versões fechadas e que não tenhamos capotado a versão seguinte ou que já tenhamos adicionado novas features que ainda não estão maduras ou testadas o suficiente de forma a garantirmos a qualidade do software.
Então, para a versão fechada, digamos 1.15, criaremos a versão de branch 1.15.0.1.1. (Descreverei em outro post esse versionamento)
Lembrando que utilizamos o Git e que sendo assim, criamos o branch a partir da tag 1.15 com o comando abaixo:
git checkout -b projeto-1.15 projeto-1.15
Está correto mesmo, criaremos o branch 1.15 para que consigamos fazer com que o maven crie uma nova branch de desenvolvimento que se chamará projeto-1.15.0.1.1 e em seus poms teremos a tag version como projeto-1.15.0.1.1-SNAPSHOT. Caso contrário vc terá de alterar todos os poms manualmente para esta versão, o que não se justifica.
Feito o checkout da versão projeto-1.15 agora é só executar o seguinte comando:
mvn release:branch -DautoVersionSubmodules=true -DbranchName=projeto-1.15.0.1.1 -DupdateBranchVersions=true -DupdateWorkingCopyVersions=false
Feito isso, a branch projeto-1.15.0.1.1 será criada e os poms estarão com a tag version projeto-1.15.0.1.1-SNAPSHOT.
Agora é só fazer as devidas correções do bug, adicionar ao index do git, commitar no repositório e executar o comando:
mvn release:prepare
E se tudo der certo:
mvn release:perform
Caso alguma coisa dê errado, verifique o erro informado e se for necessário vc poderá executar o comando (mas lembre-se de NÃO deletar os arquivos de rollback gerados pelo mvn release:prepare, senão o passo seguinte não funcionará):
mvn release:rollback
Leave a comment