Essa era uma dúvida minha e também pode ser a sua. O Subversion (SVN) tem uma estrutura recomendada. Criar os diretórios TRUNK, TAGS e BRANCHES na raiz do projeto.
Lembre-se: é uma estrutura recomendada. Isso não quer dizer que você é obrigado a utilizar.
O diretório TRUNK
È onde vão todos os commits do dia-a-dia. Os desenvolvedores enviam suas revisões diretametente para essa pasta.
O diretório BRANCHES
Quando a equipe de desenvolvimento decide que a versão está pronta, uma cópia é feita com o nome da versão (Ex.: 1.0, 2.1 etc.) na pasta BRANCHES. Essa versão é testada exaustivamente, e nada novo é criado. Apenas bugs são resolvidos.
O diretório TAGS
Assim que todos os bugs do BRANCH forem resolvidos, a pasta é copiada para o TAGS. E a versão final é liberada. Nada mais é modificado nessa versão.
Quando criar um BRANCH?
Existem algum sistemas que você pode escolher para o seu projeto:
- O sistema "sem BRANCHES"
Nesse sistema, só existe a pasta TRUNK e tudo é comitado lá. É mais simples de utilizar mas possui um grande problema: o sistema pode ficar instável a qualquer momento. - O sistema "BRANCH o tempo todo"
Cada usuário possui seu BRANCH privado, e alguém (possivelmetne o gerente) revisa todos os commits e junta tudo na pasta TRUNK. Não é muito recomendado pois pode gerar muitos confiltos - O sistema "BRANCH quando precisar"
Essa é, na minha opinião, a melhor opção. Apenas quando uma versão está (teoricamente) pronta, é criado um BRANCH. É importantíssimo respeitar dois pontos:
1. Todos os commits devem ser pequenos, com apenas uma correção de bug, ou apenas uma nova funcionalidade. Nada de juntar uma série de atividades em um commit.
2. O BRANCH tem que rodar sempre, e sem erros.
Saiba mais: http://svn.apache.org/repos/asf/subversion/trunk/doc/user/svn-best-practices.html
Últimos comentários