Enviar os Ficheiros

Quando você efectuar um dado conjunto de alterações à sua cópia de trabalho e quiser que os outros programadores tenham acesso a elas, você poderá enviá-las e 'confirmá-las', fazendo o commit. Com esse commit, você coloca as suas versões dos ficheiros modificados como versões novas no repositório. Uma actualização subsequente por outro programador irá trazer as suas modificações para a cópia de trabalho dele.

Para enviar um conjunto de ficheiros, seleccione-os na janela principal do Cervisia e escolha a opção FicheiroEnviar... ou seleccione-os com o botão direito do rato e escolhendo a opção Enviar... do menu de contexto.

Figura 3.2. Uma imagem da janela de envio ('commit') do Cervisia

Uma imagem da janela de envio ('commit') do Cervisia

Você irá obter uma janela que lhe mostra uma lista dos ficheiros seleccionados e uma mensagem de registo para as suas alterações em baixo. O Cervisia ajuda-o de várias formas a arranjar uma mensagem de registo significativa: Primeiro, na lista de ficheiros, você poderá fazer duplo-click num ficheiro ou carregar em Return para poder ver as alterações que você fez ao ficheiro. Segundo, dá-lhe uma lista das mensagens de registo que você usou anteriormente numa lista. Terceiro, esta janela está integrada com o editor do ChangeLog do Cervisia. Quando tiver terminado esta janela, o comando

cvs commit -m mensagem nomes dos ficheiros

é utilizado.

Nota

Um erro comum que você poderá encontrar ao enviar as actualizações é o Up-to-date check failed (a verificação da actualização falhou). Isto significa que alguém fez alterações no repositório sem que você tenha actualizado a sua área de trabalho. Ou, mais tecnicamente, a sua versão da BASE não é a mais recente na sua ramificação respectiva. Nesse caso, o CVS recusa-se a reunir as suas modificações no repositório. A solução passa por actualizar, resolver os conflitos e envar de novo. Claro, se você estiver a trabalhar num projecto de 'software', é normalmente uma boa técnica verificar se o programa ainda continua a funcionar depois de você ter feito a alteração - em resumo, poderá acontecer que hajam interacções erradas entre as suas modificações e as que foram efectuadas pelas outras pessoas, o que poderá dar origem a erros no código.

Nota

Outro erro normal resulta na mensagem de erro Sticky tag 'X' for file 'X' is not a branch (A marca fixa 'X' do ficheiro não é uma ramificação). Isto acontece quando você tenta fazer 'commit' de um ficheiro que você extraiu anteriormente para uma dada versão fixa ou uma marca ('tag') fixa com o comando

%cvs update -r X

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

Com o Cervisia, é bastante simples manter um ficheiro de ChangeLog que esteja em conformidade com o formato definido pelas sugestões de codificação da GNU. Para o usar, escolha a opção FicheiroInserir Registo do ChangeLog.... Se existir um ficheiro com o nome ChangeLog na pasta de topo da sua área local, este ficheiro será carregado e você terá a hipótese de o editar. Para tal, no topo do ficheiro, é introduzido um item com a data actual e o nome do seu utilizador (o qual poderá ser configurado tal como é descrito em “Geral”). Quando você fechar esta janela ao carregar em OK, a próxima janela de envio das alterações que você abrir terá a mensagem de registo igual à mensagem que você introduziu no registo de alterações.