Estou prestes a começar o trabalho em uma nova versão (versão 4) do meu aplicativo comercial. Eu uso o Subversion.
Com base em suas experiências, erros e sucessos, como você recomendaria que eu configurasse a nova versão no Subversion?
Aqui estão algumas informações: Pretendo continuar lançando atualizações críticas na versão 3 por algum tempo após o lançamento da versão 4. No entanto, todo o desenvolvimento de novos recursos será exclusivo na versão 4.
Caso seja relevante: sou um desenvolvedor solo deste produto e provavelmente esse continuará sendo o caso.
EDIT: Estou ciente das tags e ramificações do SVN. Acho que preciso de uma estratégia ideal para usar tags e ramificações na minha situação.
fonte
Depende.
Você pode manter a versão 4 no tronco e continuar desenvolvendo na V4. A versão 3 seria uma ramificação que você atualizaria conforme necessário. O benefício dessa abordagem é que, se um problema crítico for descoberto na V3 que também está na V4, você poderá fazer uma mesclagem simples nos arquivos entre as ramificações.
A outra opção é criar um repositório totalmente novo para a V4. Isso lhe dará um novo começo. A desvantagem é que o histórico de alterações foi redefinido e você não poderá mesclar arquivos via Subversion. Você precisará usar um programa como o Beyond Compare para mesclar as alterações.
Pessoalmente, eu continuaria com a primeira abordagem. Crie uma ramificação V3 e mantenha o código e as atualizações nessa ramificação. O novo código V4 pode ser desenvolvido no porta-malas.
fonte
Encontrei um excelente guia para essa situação :
fonte
O que você está perguntando é sobre a estratégia de ramificação (e mesclagem) a ser usada. Portanto, assuma o cargo de karthik te tome como receita.
Para mais informações, leia os seguintes recursos:
fonte