Criar 'Patches'

Em algumas ocasiões, você poderá querer oferecer as suas modificações para serem revistas, antes de as enviar, ou então poderá não ter acesso de escrita no repositório (pelo que não poderá enviar directamente as alterações). O CVS oferece alguns formatos-padrão para partilhar as modificações na sua cópia local, para que as pessoas possam rever as suas alterações, testá-las na sua cópia local e aplicá-las no repositório do CVS. Um ficheiro que contenha essas diferenças é chamado de patch e é gerado pelo comando cvs diff, da mesma forma que as diferenças no “Ver as Diferenças Entre Versões”. A partilha de 'patches' em vez de conjuntos de ficheiros requer menor largura da banda e as alterações são mais simples de lidar, dado que você poderá enviar apenas um ficheiro que contém todas as diferenças de vários ficheiros de código.

O Cervisia dá-lhe o acesso a esta funcionalidade ao escolher a opção AvançadoCriar um 'Patch' do Repositório....

Importante

A acção Criar um 'Patch' do Repositório... extrai um ficheiro com todas as modificações em todos os ficheiros da sua cópia local, em relação ao repositório de BASE. Como tal, a selecção dos ficheiros na janela principal não irá afectar o ficheiro que será gerado.

Outra possibilidade é seleccionar um ficheiro da janela principal e escolher a opção Ver o Registo... do menu Ver ou carregar com o botão direito do rato no ficheiro seleccionado e escolher Ver o Registo... do menu de contexto, para abrir a janela de navegação do histórico. Agora, seleccione a versão com a qual deseja criar um 'patch', sendo esta a versão A e carregue no botão Criar 'Patch'.... Isto irá gerar um ficheiro com as diferenças entre o ficheiro seleccionado na sua área local e a versão seleccionada como versão A.

Antes de gerar o ficheiro do 'patch', o Cervisia mostra uma janela que lhe permite configurar o formato do resultado.

Figura 4.2. Uma imagem da janela de 'patches' do Cervisia

Uma imagem da janela de 'patches' do Cervisia

Formato de Saída

Existem três formatos do resultado disponíveis:

Normal: um formato que poderá ser usado para que o editor 'ed' crie automaticamente outra cópia do ficheiro antigo para gerar o novo. No formato do resultado normal, os caracteres < e > marcam as alterações e não existe nenhuma informação de contexto.

Unificado: o formato mais usado para trocar 'patches'. O formato unificado usa linhas de contexto para além dos números de linha para registar as diferenças. Isto torna o processo de aplicação de 'patches' mais robusto. Este formato mostra as diferenças de uma forma compacta e legível, com um cabeçalho para cada ficheiro envolvido, assim como algumas secções separadas (blocos) com cada diferença. As linhas de contexto disponíveis para cada diferença tornam a leitura das modificações mais simples. No formato unificado, os caracteres + e - marcam as alterações.

Contexto, o qual apresenta a mesma informação do formato unificado, mas de uma forma menos compacta. No formato de resultado com contexto, o carácter ! marca as alterações.

Número de linhas de contexto:

Defina aqui o número de linhas de contexto para os formatos unificado e de contexto. Esta opção não está disponível para o formato de resultado normal, dado que neste formato não é registada nenhuma informação de contexto. Quanto mais informação de contexto, mais fácil será ler o resultado em bruto, e mais precisa se torna a aplicação do 'patch', mas aumenta o tamanho do mesmo. É recomendado usar pelo menos duas linhas de contexto para uma operação correcta de aplicação do 'patch'.

Opções para Ignorar

Assinale aqui as alterações que não deverão ser consideradas como diferenças ao gerar o 'patch'.

Depois de definir o formato do resultado, o Cervisia gera o 'patch' e mostra a janela para Gravar Como. Indique nesta janela o nome do ficheiro e a localização do 'patch'.