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 → ou clique direito sobre os arquivos marcados e selecione no menu de contexto.
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 → ). 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 → . 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 . 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.