Estratégia do SVN usando os ramos e juntando as alterações do tronco para o ramo
há tanto tempo que sou Utilizador da SVN, mas bastante inexperiente em ramificações / marcações, e quando o tenho, suspeito que não o estou a usar correctamente ou em todo o seu potencial.
Eu Tenho o meu baú que eu trabalho em Adicionar novas funcionalidades etc. Esta base de código é usada em vários sites, onde criamos um branch fora do tronco em uma base por projeto.
cada ramo geralmente tem modificações específicas a esse projecto, e tudo o que pensamos que será reutilizável é adicionado ao tronco, e feito para que essa funcionalidade possa ser ligada e desligada nos vários projetos.
actualmente, quando fazemos alterações no tronco, e queremos essas modificações num ramo pré-datado, tenho de passar e juntar manualmente certas revisões ao ramo e reiniciá-las. Não é o ideal, e é fácil perder coisas.
então, a minha pergunta... existe alguma maneira de actualizar o meu ramo com todas as alterações do tronco, e lidar com elas como se fosse uma actualização padrão do tronco com conflitos?
Já vi reintegrar o ramo ao tronco, mas devido à forma como estou usando ramos neste caso, não é realmente algo que eu queira fazer.1 answers
svn merge
a partir de uma cópia de trabalho limpa do seu ramo (um sem modificações locais):
$ pwd
/home/user/mybranch
$ svn status # Does not display anything
$ svn update # Make sure your local copy is up to date.
Updating '.':
At revision X.
$ svn merge url/to/repository/trunk
Updates, additions, deletions and conflicts.
$ #handle conflicts.
$ svn commit -m "Merging changes from the trunk".
Vermanter um ramo em sincronia do livro SVN.
É provável que a primeira junção introduza muitos conflitos, especialmente se a ramificação forked há muito tempo, mas esta fusão irá decorrer sem problemas, especialmente se você fundir frequentemente.