Manuals

Actualizar a Tua Cópia de Trabalho Com Alterações de Outros

Figura 4.11. Caixa de diálogo de progresso mostrando uma actualização finalizada.

Caixa de diálogo de progresso mostrando uma actualização finalizada.


Periodicamente, deverás garantir que as alterações feitas por outros são incorporadas na tua cópia de trabalho local. O processo de obter as alterações do servidor para a cópia local é conhecido como actualizando. Actualização pode ser feita em ficheiros isolados, um conjunto de ficheiros seleccionados, recursivamente numa estrutura de hierarquia de pastas. Para actualizar selecciona os ficheiros e/ou pastas que desejas, clica com o botão direito e selecciona TortoiseSVNActualizar no menu de contexto do explorador. Uma janela aparecerá mostrando o progresso da actualização, enquanto ela decorre. As alterações feitas por outros serão fundidas com os teus ficheiros, mantendo quaisquer alterações que tenhas feito nos mesmos. O repositório não é afectado pela actualização.

A caixa de diálogo de progresso usa um código de cores para evidênciar diferentes acções de actualização

Roxo

Novo item adicionado à tua CT.

Vermelho escuro

Item redundante apagado da tua CT, ou um item em falta substituído na tua CT.

Verde

Alterações do repositório fundidas com sucesso, com tuas alterações locais.

Vermelho brilhante

Alterações do repositório fundidas com as alterações locais, resultando em conflitos que é necessário resolver.

Preto

Item não alterado, na tua CT, actualizado com uma nova versão do repositório.

Este é o esquema de cores por defeito, mas podes alterar essas cores usando a caixa de diálogo configurações. Ler “Preferências de cor do TortoiseSVN” para mais informação.

Se tiveres alguns conflitos durante uma actualização (o que pode acontecer se outros alterarem as mesmas linhas nos mesmos ficheiros que tu alteraste, e essas alterações não condizerem), então a caixa de diálogo mostra esses conflitos a vermelho. Podes efectuar clicar duplo clique nessas linhas para iniciar a ferramenta externa de fusão, para resolver esses conflitos.

Quando a actualização está concluída a caixa de diálogo de progresso mostra, debaixo da lista de ficheiros, o resumo do números de itens actualizados, adicionados, apagados, em conflito, etc. Esta informação de sumário pode ser copiada para o clipboard usando Ctrl+C.

O comando padrão Actualizar não tem opções e actualiza apenas a tua cópia de trabalho par a revisão HEAD do repositório, que é o caso mais comum. Se quiseres mais controlo sobre o processo de actualização, deverás então utilizar TortoiseSVNActualizar para revisão.... Este permite-te actualizar a tua cópia de trabalho para uma revisão específica, não apenas para a mais recente. Supõem que a tua cópia de trabalho está na revisão 100, mas queres reflectir o estado quer tinha na revisão 50 - então actualiza simplesmente para a revisão 50.

Na mesma caixa de diálogo podes também escolher a nível para a qual actualizas a pasta corrente. Os termos usados são descritos em “Profundidade do Checkout”. O nível por defeito é Cópia de trabalho, que preserva a definição de nível existente. Podes também fixar o nível persistente o que significa que actualizações subsequentes irão usar essa novo nível, i.e. esse nível será então usado como a nível por defeito.

Para tornar mais fácil incluir ou excluir itens específicos no checkout, clica no botão Escolher itens.... Isto abre uma nova caixa de diálogo onde podes seleccionar todos os itens que quiseres na tua cópia de trabalho, e desseleccionar is itens que não quiseres.

Poderás escolher se queres ignorar qualquer projecto externo na actualização (i.e projectos referenciados com svn:externals).

Cuidado

Se actualizas um ficheiro ou uma pasta para uma revisão específica não deverás efectuar alterações nos mesmos. Obterás mensagens de erro desactualizado quando tentares submete-las! Se quiseres desfazer as alterações efectuadas num ficheiro ou começar de novo a partir de uma revisão anterior, podes rebobinar para uma revisão anterior a partir da caixa de diálogo de registo de revisões. Dá uma vista de olhos em “Reverter (Anular) revisões no repositório” para mais instruções e métodos alternativos.

Atualizar para revisão pode ocasionalmente ser útil para ver qual o aspecto que tinha o teu projecto num ponto anterior da sua história. Mas na generalidade, actualizar ficheiros individuais para uma versão anterior não é uma boa ideia, pelo que deixa a tua cópia de trabalho num estado inconsistente. Se o ficheiro que estás a actualizar mudou de nome, poderás constatar que o mesmo desaparece da tua cópia de trabalho porque, nenhum ficheiro com esse nome existia na revisão anterior. Deves também constatar que o item mostrará uma sobreposição verde normal, pelo que será indistinguível dos ficheiros que estão actualizados.

Se queres simplesmente uma cópia local de uma versão antiga de um ficheiro é melhor utilizar, a partir da caixa de diálogo do registo, o comando Menu ContextoGuardar revisão em...

Múltiplos Ficheiros/Pastas

Se seleccionares múltiplos ficheiro e pastas no explorador e então seleccionares Actualizar, todos esses ficheiros/pastas são actualizados um por um. O TortoiseSVN garante que todos os ficheiros/pastas que são do mesmo repositório são actualizados exactamente para a mesma revisão! Mesmo que entre essas actualizações outra submissão ocorra.

TortoiseSVN homepage