| 219 | |
| 220 | == Utilizando branches == |
| 221 | |
| 222 | Como descrito acima, tickets que exijam grandes modificações devem ser implementados em branches, ao invés de utilizar diretamente o trunk. O primeiro passo é criar um novo branch: |
| 223 | {{{ |
| 224 | svn copy https://svn.expressolivre.org/sandbox/workflow/trunk |
| 225 | https://svn.expressolivre.org/sandbox/workflow/branches/1001 |
| 226 | -m "Ticket #1001 - Criando novo branch para implementação do ticket." |
| 227 | }}} |
| 228 | O comando '''svn copy''' é utilizado para a criação de branches. Na forma como é mostrado acima, este comando não precisa ser executado a partir de um repositório svn, todo procedimento é realizado no servidor. O primeiro parâmetro é o branch de origem, de onde serão copiados os dados. Os branches criados para os tickets da versão experimental do Workflow devem sempre utilizar o repositório /sandbox/workflow/trunk como origem. O segundo parâmetro especifica o endereço do novo branch. O novo branch deve seguir o padrão /sandbox/workflow/branches/{#ticket}. Já o terceiro parâmetro, opcional e especificado pela opção ''-m'', especifica a mensagem do commit que criará o novo branch. É importante notar que o commit inicial de criação do branch, será visível apenas ao novo branch, mas não através do branch de origem (trunk). Desta forma, a partir do repositório de origem, não é possível determinar o momento exato de criação dos branches. |
| 229 | |
| 230 | Após criado, o branch pode ser acessado de duas formas: |
| 231 | {{{ |
| 232 | svn checkout https://svn.expressolivre.org/sandbox/workflow/branches/1001 |
| 233 | }}} |
| 234 | para criar uma nova cópia local do repositório já em seu novo branch, ou: |
| 235 | {{{ |
| 236 | svn switch https://svn.expressolivre.org/sandbox/workflow/branches/1001 |
| 237 | }}} |
| 238 | para mudar o branch de sua cópia local. Todos os commits subsequentes serão acessíveis apenas através do seu branch, devendo seguir o mesmo padrão das mensagens de commit adotados pelo restante do ambiente. |