Resolver conflitos

Quando actualizar ou consolidar pode detectar conflitos: Ocorre um conflito quando tiver modificado localmente um recurso para o qual está disponível uma revisão mais recente na ramificação no repositório. Especificamente, a ramificação vai conter uma revisão mais recente do que a revisão base do recurso. Nesta situação, pode optar por tomar uma das seguintes atitudes:

Normalmente, vai querer executar a terceira opção, ou seja, intercalar, porque a perda de trabalho se verifica nas outras duas opções.

Intercalar alterações manualmente

A Vista Sincronizar indica os recursos que estão em conflito com a ramificação. Para um determinado recurso em conflito, normalmente vai querer intercalar as suas alterações com as alterações no recurso da ramificação.

Por exemplo, imaginemos que o utilizador e outro membro da equipa modificaram a mesma página html. Ao abrir esse recurso na vista Sincronizar vai apresentar uma comparação do recurso local com a revisão da ramificação. Ao executar um ciclo e intercalar as alterações individuais, pode decidir para cada alteração se vai aceitar a alteração de entrada, rejeitá-la ou intercalá-la com as suas alterações locais. Quando tiver terminado a intercalação, guarde as suas alterações. Vai sobrepor o recurso local com o resultado da intercalação. Pode subsequentemente consolidar este recurso intercalado.

Sugestão: Ao intercalar alterações, é muitas vezes conveniente poder distinguir os ficheiros que acabou de intercalar. Quando tiver terminado de intercalar um ficheiro, pode escolher Marcar como Intercalado no menu de contexto. Isso vai alterar o estado do ficheiro que passa de um conflito para uma alteração de saída.

Pode intercalar diferenças na vista Sincronizar em dois níveis:

Intercalar alterações automaticamente

Também é possível ter as alterações intercaladas automaticamente. Para qualquer recurso marcado como ASCII, a execução de Equipa > Actualizar irá automaticamente intercalar nas suas diferenças de recursos locais com o recurso da ramificação. Isto funciona correctamente, desde que não existam linhas com alterações em conflito. Caso existam, o CVS insere uma marcação especial no ficheiro para indicar as linhas que não foi possível intercalar.

A actualização na vista Sincronização funciona de forma um pouco diferente. No caso de existir um conflito, Actualizar apenas vai processar ficheiros cujo conteúdo não contém conflitos. Os ficheiros que tenham conflitos de conteúdo serão ignorados, permanecendo na vista Sincronizar como conflitos.

 Conceitos relacionados
Programação em equipa com CVS
Sincronizar com um repositório de CVS
Comparações de três formas

Tarefas relacionadas
Sincronizar com o repositório
Actualizar
Consolidar
Intercalar de uma ramificação
Comparar recursos
Intercalar alterações no editor de Comparação

Referência relacionada
www.cvshome.org: Actualizar um ficheiro
www.cvshome.org: Exemplo de conflitos
Editor de comparação