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
março 20th, 2012 on 08:49
Bom texto , bem esclarecedor.
abril 2nd, 2012 on 18:51
Vc deveria olhar o GIT! 😀
março 1st, 2013 on 14:39
Olá amigo… muito bom o post… bem simples e direto 😀
publiquei o conteudo no meu blog com os devidos créditos, espero que não se encomode…
http://spigandoeaprendendo.wordpress.com/2013/03/01/como-utilizar-os-diretorios-trunk-tags-e-branches-no-subversion-svn/
abraços 😀
março 18th, 2013 on 10:51
Com certeza não me incomodo, Gustavo. Informação é pra ser compartilhada (com os devidos créditos, é claro :P)
agosto 4th, 2013 on 09:23
Texto bem esclarecedor!! obg
março 14th, 2014 on 18:17
boa noite.e no caso, posso crair um branch com a versão 2.0, e depois, commitar sómetne nela, com as coisas novas?
ou seja, criei o branch 2.0, apaguei o que está la,d eixando ele vasio, e commito só nela…
maio 12th, 2014 on 09:49
Muito bom, obrigada.. :3
julho 3rd, 2014 on 15:17
Tenho uma dúvida. Como tenho duas pastas, uma no trunk e outra no branches e caso tenha bug nesta última, eu tenho que alterar em dois locais? No trunk e no branches?
outubro 29th, 2014 on 21:54
Sim… é por isso que uma coisa só vai pro branches quando tá bem redondo. Versão final. Caso contrário você vai ter que ficar mantendo duas versões.
agosto 22nd, 2014 on 14:47
Muito bom o texto, tirou minhas dúvidas. Muito Obrigado.
setembro 23rd, 2014 on 15:47
Muito bom texto, principalmente sua opinião sobre BRANCHES vai me ajudar muito. Obrigado
março 18th, 2015 on 12:13
Parabéns pela simples e esclarecedora explicação.
fevereiro 20th, 2018 on 06:23
Muito bom, direto e esclarecedor. Obg.