# Merge - Comum sem conflitos

<p class="callout info">Merge é utilizado para mesclar alterações de um branch com outro, geralmente feito em branchs de casos para ficar atualizados com o Trunk.</p>

Antes de realizar um Merge, deve-se seguir algumas etapas:

- Verificar se há alterações que serão salvas. Caso tenham, realizar o [<span style="text-decoration: underline;">commit</span>](https://wiki.supersoft.com.br/books/svn-basico/page/commit) dessas alterações.
- Verificar se após o commit das alterações, existam outras alterações que não serão salvas. Caso tenham, realizar um <span style="text-decoration: underline;">[Clean up](https://wiki.supersoft.com.br/books/svn-basico/page/clean-up)</span> na pasta.
- Após verificação das etapas anteriores, realizar um [<span style="text-decoration: underline;">update</span> ](https://wiki.supersoft.com.br/books/svn-basico/page/update)na pasta.

Verificadas as etapas anteriores, estamos aptos à realizar o merge propriamente.

Iremos ilustrar um merge com uma pasta de exemplo:

Para isso clicar com o botão direito do mouse na pasta desejada e em seguida clique em "TortoiseSVN &gt; Merge":

[![Merge4 (2).png](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/scaled-1680-/merge4-2.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/merge4-2.png)

Será aberta a tela "Merge Type", selecione a opção "Merge a range of revisions" e em seguida clique em "Next":

[![5.jpg](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/scaled-1680-/5.jpg)](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/5.jpg)

A próxima tela será a tela "Merge revision range", em "URL to merge from" será a URL do diretório em que quer pegar as modificações.

<p class="callout warning">Se atentar a estrutura utilizada:  
- Caso dentro da pasta não tenha a "CodigoBaseSkin", deve se usar a URL abaixo sem "CodigoBaseSkin".</p>

Verifique se o diretório do Trunk está correto ([https://svn.supersoft.com.br/svn/desenvolvimento/trunk/CodigoBaseSkin](https://svn.supersoft.com.br/svn/desenvolvimento/trunk/CodigoBaseSkin)).

No quadro "Revision range to merge" selecionar a opção "all revisions" e clicar em "Next":

[![SVN_Merge.png](https://wiki.supersoft.com.br/uploads/images/gallery/2021-02/scaled-1680-/svn-merge.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2021-02/svn-merge.png)

Na tela "Merge options", em "Merge depth" selecionar a opção "Fully recursive" e em seguida clicar em "Test merge":

[![7.jpg](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/scaled-1680-/7.jpg)](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/7.jpg)

 Após o "Test merge" ter sido completado e caso não seja apresentado nenhum conflito, clique em "OK":

[![Merge2.png](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/scaled-1680-/merge2.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/merge2.png)

<p class="callout danger">Se você é do setor da Qualidade, e no "Test merge" apresentar qualquer conflito chame um desenvolvedor para que as inconsistências sejam verificadas e corrigidas. O "Test merge" **SEMPRE** deve ser realizado.</p>

Após o "Test merge" ter sido finalizado e clicar em "OK" a tela "Merge options" será exibida novamente. Clique em "Merge". Será exibida a tela "Auto-Merge Finished" e então clique em "OK":

[![Merge1.png](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/scaled-1680-/merge1.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/merge1.png)

Após o "Merge", é necessário realizar o "Commit" que é o upload das alterações realizadas para o SVN.

Para saber como realizar o "Commit" <span style="text-decoration: underline;">[clique aqui](https://wiki.supersoft.com.br/books/svn-basico/page/commit)</span>