Um monitor é o nome convencional para a característica do CVS de notificar usuários do repositório sempre que um arquivo for mudado ou um desenvolvedor iniciar a edição de um arquivo. O uso de monitores requer que o arquivo
tenha sido configurado corretamente. Isto não será discutido aqui, se você necessitar de mais informações sobre a configuração de pontos de monitoramento, leia um dos livros listados no apêndice. $CVSROOT
/CVSROOT/notify
O principal suporte de monitores do Cervisia possui seis itens de menu.
Para adicionar um monitor para um ou diversos arquivos, use → . No diálogo obtido, você pode selecionar para quais tipos de eventos que o CVS suporta você deseja receber uma notificação. Por exemplo, se você somente quer receber notificações quando um arquivo é enviado, habilite as caixas e . Se você deseja obter notificações sobre qualquer evento relacionado aos arquivos marcados, habilite a caixa . A linha de comando usada quando você aceita este diálogo é
cvs watch add -a commit nomes dos arquivos
ou com uma opção similar, dependendo dos eventos que você escolher monitorar.
Se você não está mais interessado em alguns arquivos, você pode remover os monitores deles. Para isto, use → . No diálogo obtido aqui, as mesmas opções no formulário preenchido para adição são oferecidas. Quando você confirmar este diálogo, o Cervisia enviará o comando
cvs watch remove nomes dos arquivos
possivelmente com uma opção -a
para a escolha dos eventos.
Finalmente, você pode obter uma lista das pessoas que estão monitorando um conjunto de arquivos. Escolha → . Usar este item de menu resultará em um comando
cvs watchers nomes dos arquivos
No cenário normal de utilização do CVS, cada desenvolvedor trabalha separadamente em sua cópia local sincronizada. Quando ele deseja modificar algum arquivo, ele pode apenas abri-lo em seu editor e iniciar seu trabalho. Ninguém saberá sobre este trabalho até o arquivo ser enviado.
Para alguns grupos de desenvolvedores, este não é o modelo preferido de cooperação. Eles preferem ser notificados sobre alguém trabalhando em um arquivo tão logo ele inicie. Isto pode ser obtido por alguns comando CVS posteriores. Antes de você iniciar a edição de um arquivo, selecione-o na janela principal do Cervisia e escolha → . Isto executará o comando
cvs edit nomes dos arquivos
Isto enviará uma notificação para todos que tem configurado um monitor de edição
no arquivo. Isto também registrará também você como um editor do arquivo. Você pode obter uma lista de todos os editores de um determinado arquivo usando → . Isto é equivalente a digitar na linha de comando
cvs editors nomes dos arquivos
Uma sessão de edição é automaticamente terminada quando você envia o arquivo afetado. Neste momento, uma notificação de cancelar edição
é enviado para todas as pessoas que tem registrado o respectivo monitor no arquivo. É claro, algumas vezes você pode não desejar sincronizar o arquivo, mas cancela a sessão de edição e reverte para a versão anterior do arquivo. Isto é feito usando → . Observe que o Cervisia não lhe pedirá por uma confirmação! Isto significa que se você usar este item de menu, todo seu trabalho feito desde o uso do → será perdido. Precisamente, o Cervisia usa a linha de comando
echo y | cvs unedit nomes dos arquivos
Até agora, só foi discutido o caso em que as edições e fins de edições são usadas voluntariamente pelos programadores. Além disso, o CVS suporta um modelo que obriga ao uso desses comandos. O comando responsável por mudar para esse modelo é o cvs watch on, o qual não será muito mais detalhado, porque é usado, na maior parte dos casos, pelo administrador do repositório. Contudo, a parte importante do ponto de vista do programador é que, quando o projeto obrigar às edições, as cópias de trabalho são extraídas apenas com permissões de leitura. Isso significa que você não poderá editar um arquivo por padrão (a menos que use truques do tipo do chmod). Só quando você usar a opção → , é que o arquivo poderá ser alterado. Ele será tornado de novo acessível apenas para leitura quando você enviar as alterações ao arquivo ou quando usar a opção → .
A interface do editor do Cervisia lhe auxilia com projetos que forçam monitores também de diferentes maneiras. Se você apenas iniciou um editor com um arquivo apenas para leitura com um duplo-clique nele ou usando → , você pode não ser capaz de salvar suas modificações posteriormente. Isto tem sua própria razão. Sempre que você deseja mudar um arquivo, você deve executar cvs edit antes, de modo que todas as pessoas monitorando o arquivo recebem uma notificação que você está trabalhando nele.
Neste caso, é conveniente habilitar a opção → . Agora, sempre que você editar um arquivo com um duplo clique nele, o Cervisia executará cvs edit antes do editor ser executado. Então você poderá editar seu arquivo normalmente. Quando tiver terminado seu trabalho, envie seus arquivos, e os arquivos enviados serão somente leitura novamente.