Como eu mesclo duas ramificações svn?

6

Eu tenho dois ramos svn verificados, "b1" e "b2". Eu gostaria de mesclar todos os meus commits da ramificação "b1" para a ramificação "b2". Eu tentei algo como

svn merge -r HEAD:HEAD b1 b2 

mas não faz nada. Tenho certeza que tenho esse comando errado, mas não consigo encontrar uma boa documentação sobre ele. Eu gostaria de fazer isso no lado do cliente e não criar um terceiro ramo.

Alguma idéia?

Obrigado!

    
por Tony 03.09.2009 / 05:39

2 respostas

8

Seu problema é com o sinalizador -r . Você precisa especificar um intervalo de revisões. Então, por exemplo:

svn merge -r 13:HEAD b1 b2

Para descobrir o número de revisão correto, você pode fazer:

svn log --stop-on-copy b1

log só listará os commits que aconteceram em b1 . O menor número de revisão que você verá será sua escolha.

Eu nunca usei este formulário. Eu sempre me assegurei de que estava ativamente no branch b2 , e então fiz:

svn merge -r 13:HEAD url://to/branch/b1
    
por 03.09.2009 / 09:22
2

O comando "svnmerge" ou "svnmerge.py" pode ajudar com isso. Note que este é um comando diferente de "svn merge". Mais informações estão disponíveis em a página do Wiki svnmerge.py , incluindo detalhes sobre como usá-lo, um guia de início rápido , etc.

Eu usei-o para gerenciar a mesclagem entre vários check-outs de um repositório específico, onde faço alterações em um deles e, em seguida, mescle as alterações desse ramo no outro ramo, que pode ter alterações próprias que não são mescladas. Para esse uso, o svnmerge.py funcionou de forma fantástica.

Sean

    
por 03.09.2009 / 10:33

Tags