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.

Author: Horse, 2013-03-21

1 answers

Sim, é possível. Basicamente, você precisa executar 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.

 22
Author: Etienne Miret, 2013-03-23 14:51:52