Os conflitos poderão ocorrer sempre que você fizer alterações a um ficheiro que foi também modificado por outro utilizador. O conflito é detectado pelo CVS logo que você actualizar o ficheiro modificado. O CVS irá então tentar reunir as modificações enviadas pelo outro programador para a sua cópia de trabalho. A reunião irá falhar se tanto a sua modificação como a dele foram em partes comuns do ficheiro, onde então o servidor do CVS irá enviar uma mensagem de erro.
Na janela principal do Cervisia, os ficheiros com conflitos são indicados com "Conflito" na coluna do estado e com uma cor vermelha. A sua tarefa é agora resolver esses conflitos antes de enviar os ficheiros. O CVS recusar-se-á a enviar quaisquer ficheiros com conflitos, até que estes tenham sido alterados. Na janela principal, você poderá resolver obviamente os conflitos da forma tradicional: basta fazer duplo-click no ficheiro em questão e editá-lo com o seu editor favorito.
O CVS marca as alterações em conflito, colocando marcas no meio dos ficheiros com o seguinte formato:
<<<<<<< Alterações na sua cópia local ======= Alterações no repositório >>>>>>> número_de_versão
Você deverá substituir este bloco por inteiro com a nova versão reunida. Claro, você tem uma grande liberdade ao resolver um conjunto de conflitos: poderá decidir, por cada conflito, qual das versões alternativas é que ficará no fim. O utilizador poderá também decidir que ambas as versões estão erradas e então decide escrever uma rotina inteira ou o ficheiro por completo.
Felizmente, o Cervisia oferece uma interface mais simpática para lidar com estes conflitos. Isto não significa que nunca terá de editar manualmente os ficheiros, mas pelo menos pode eliminar a necessidade de o fazer para as resoluções de conflitos simples. Para usar a janela de Resolução do CVS do Cervisia, escolha → ou carregue com o botão direito do rato no ficheiro marcado e seleccione no menu de contexto.
No cimo da janela, você vê A sua versão (A) do ficheiro do lado esquerdo e a Outra versão (B) do lado direito. As diferenças entre eles estão marcadas a vermelho. Por baixo destas duas versões, você poderá ver a Versão reunida. Esta reflecte a secção que será gravada assim que você carregar no botão .
Você poderá mudar entre as diferentes secções se carregar em ou em . Na parte ao meio e em baixo da janela, você poderá ver a secção que está marcada de momento. Por exemplo, a 2 de 8
significa que você está na segunda secção diferente de um total de 8.
Você poderá então decidir, secção a secção, qual a versão que deseja ter no ficheiro reunido. Se carregar em , você irá colocar a versão que editou. Se carregar em , você irá colocar a versão do repositório. Se carregar em , ambas as versões serão adicionadas, em que a sua versão virá primeiro. A irá conter o mesmo resultado, mas a ordem será diferente: primeiro a versão do repositório e depois a sua.
Se não estiver satisfeito com nenhuma destas versões, carregue em para abrir um editor de texto simples, onde você poderá editar a secção. Quando tiver terminado, carregue em para voltar à janela de Resolução do CVS para continuar a resolver os conflitos. Irá ver a secção que editou na Versão reunida, com as suas modificações.
Para gravar as suas modificações, sobrepondo a cópia de trabalho local, carregue em . Lembre-se que isto irá gravar as opções, não só na secção que está a ver de momento, mas em todas as secções do ficheiro. Se quiser gravar noutro ficheiro, carregue em . Carregue em para sair da janela. Se fechar a janela sem gravar, as alterações que tiver feito serão perdidas.