Bloqueio

O modelo de desenvolvimento seguido normalmente quando o CVS é usado é chamado de 'checkouts' sem reserva. Cada programador tem a sua própria área de trabalho onde ele poderá alterar os seus ficheiros a seu gosto. Se as funcionalidades de vigia forem usadas - como o cvs edit - , os vários programadores poderão trabalhar de forma sincronizada nos ficheiros. As alterações feitas por um dado programador serão reunidas na área de trabalho local logo que seja efectuada uma actualização.

Outros sistemas de controlo de versões - como o RCS e o SourceSafe usam um modelo diferente. Sempre que um editor quiser editar um ficheiro, ele terá de o bloquear. Só um utilizador é que poderá bloquear um dado ficheiro de cada vez. Quando ele terminar a edição, o bloqueio é retirado. Por um lado, com este modelo, os conflitos nunca poderão acontecer. Por outro lado, dois programadores não poderão trabalhar no mesmo ficheiro ao mesmo tempo, mesmo quando as suas alterações não os afectam um ao outro. Isto poderá tornar-se uma restrição ou impedimento. Não serão aqui discutidos os benefícios organizacionais de ambas as aproximações. Contudo, ainda que o CVS tenha algum suporte para bloquear ficheiros, não é a forma preferida de lidar com o CVS. Você não deverá usar estas funcionalidades, a menos que tenha a certeza que o seu gestor de projecto as permite.

Com o Cervisia, poderá bloquear os ficheiros da seguinte maneira. Seleccione os ficheiros desejados na janela principal; de seguida escolha AvançadoBloquear os Ficheiros. Isto irá correr o comando

cvs admin -l nomes dos ficheiros

O efeito inverso é obtido se usar o comando AvançadoDesbloquear os Ficheiros. Isto executa o comando

cvs admin -u nomes dos ficheiros