Enviando Arquivos

Quando você realiza uma certa quantidade de mudanças em sua cópia de trabalho, e você deseja que outros desenvolvedores tenham acesso a elas, você as envia. Com um envio, você coloca suas versões de arquivos modificados como novas revisões no repositório. Uma atualização subsequente por outro desenvolvedor trará suas modificações para a cópia de trabalho dele.

Para enviar um conjunto de arquivos, selecione-os na janela principal do Cervisia e selecione ArquivoEnviar... ou clique direito sobre os arquivos marcados e selecione Enviar... no menu de contexto.

Figura 3.2. Uma captura de tela do diálogo de envio do Cervisia

Uma captura de tela do diálogo de envio do Cervisia

Você obtém um diálogo que mostra uma lista dos arquivos selecionados na seção superior e uma mensagem de registro para suas mudanças abaixo. O Cervisia lhe auxilia de diversas formas para encontrar um mensagem de registro significativa. Primeiro, na lista de arquivos você pode dar um duplo-clique em um arquivo ou pressionar Return para ver as mudanças que você realizou no arquivo. Em segundo, ele lhe oferece uma lista de mensagens de registro que você usou previamente em uma caixa combinada. Em terceiro, este diálogo é integrado com o editor de changelog do Cervisia descrito abaixo. Quando você tiver terminado o diálogo, o comando

cvs commit -m mensagem nomes dos arquivos

é usado.

Nota

Um erro comum que você pode encontrar durante um envio é falha na verificação de atualização. Isto indica que alguém fez mudanças no repositório desde sua última atualização. Ou mais tecnicamente, que sua revisão BASE não é a mais nova do repositório. Neste caso o CVS recusa-se a mesclar suas modificações para o repositório. A solução é atualizar, resolver qualquer conflito e sincronizar novamente. É claro, se você está trabalhando no projeto de um software, isto é normalmente uma boa maneira de verificar se o programa ainda funciona após você tê-lo atualizado - além do mais, podem existir interações incorretas entre suas modificações e a de outros desenvolvedores causando uma quebra de código.

Nota

Outro erro comum resulta na mensagem de erro Tag 'X' pregada para arquivo 'X' não está no repositório. Isto acontece se você tenta enviar um arquivo que foi trazido previamente para uma determinada revisão ou tag com o comando

%cvs update -r X

(que é por exemplo usada pelo item do menu AvançadoAtualizar para Marca/Data...). Nesse caso, a marca do arquivo fica fixa, isto é as atualizações posteriores não lhe trarão a versão mais recente da ramificação ('branch'). Se você quiser enviar versões posteriores para essa ramificação, você terá que atualizar para o nome da marca antes de poder fazer novos 'commits'.

Com o Cervisia, é bastante simples manter um arquivo de ChangeLog que esteja em conformidade com o formato definido pelas sugestões de codificação da GNU. Para usá-lo, escolha a opção ArquivoInserir Registro do ChangeLog.... Se existir um arquivo com o nome ChangeLog na pasta de topo da sua área local, este arquivo será carregado e você terá a possibilidade de editá-lo. Para isso, no topo do arquivo, é inserido um item com a data atual e o nome do seu usuário (o qual poderá ser configurado tal como é descrito em “Geral”). Quando você tiver terminado, a janela pode ser fechada clicando OK. A próxima janela de envio das alterações que você abrir terá a mensagem de registro idêntica à mensagem que você inseriu no registro de alterações.