Eu estive lendo sobre ramificação / fusão com o Subversion 1.5 usando o excelente e gratuito Version Control with Subversion . Eu acho que entendo como usar o cliente de linha de comando do Subversion para executar as ações necessárias com mais freqüência, que são:
Atualizar ramificação com alterações do tronco
No diretório de trabalho da filial, execute:
svn merge http://svn.myurl.com/proj/trunk
Mesclar ramificação no tronco
No diretório de trabalho do tronco, execute:
svn merge --reintegrate http://svn.myurl.com/proj/branches/mybranch
No entanto, estamos usando o TortoiseSVN 1.5 como nossa interface para o Subversion. Gostaria de saber qual a melhor maneira de executar essas operações com o TortoiseSVN. A nova caixa de diálogo fornece três opções diferentes no menu principal.
- Mesclar várias revisões
- Reintegrar uma ramificação
- Mesclar duas árvores diferentes
Pelo que entendi, o TortoiseSVN sempre executa svn com a seguinte sintaxe.
svn merge [--dry-run] --force From_URL @ revN To_URL @ revM PATH
Além disso, a reintegração de uma ramificação geralmente falha com uma mensagem informando que alguns destinos não foram mesclados e, portanto, ela não pode continuar; portanto, tive que usar a opção nº 3.
Minhas perguntas são:
- Como uso o TortoiseSVN 1.5 para mesclar alterações do tronco para um ramo?
- Como uso o TortoiseSVN 1.5 para mesclar a ramificação ao tronco, com e sem o método de reintegração?
- Qual das opções acima devo usar para cada uma e por quê?
EDITAR
Através de testes "dry run", descobri que a operação do Subversion na linha de comando
svn merge http://svn.myurl.com/proj/trunk
é análogo à opção 1 (Mesclar um intervalo de revisões) no TortoiseSVN, desde que eu deixe o intervalo de revisões em branco.