O CVS faz a numeração automática de versões e isso é suficiente para muitos usuários. Entretanto, para alguns usos mais específicos é interessante ter um conhecimento e controle maiores sobre como funciona o CVS nesse sistema de numeração.
Cada versão de um arquivo tem um único número de revisão. Números de revisão se parecem com 1.1, 1.2, 1.2.3.4, etc. Um número de revisão sempre possui um número par de inteiros decimais separados por pontos.
Um arquivo pode ter diversas versões, como descrito acima. De maneira semelhante, um software pode ter diferentes versões. Para um software é sempre dada uma versão do tipo 4.2.1.
No conceito do CVS, o primeiro tipo de versão é chamado revisão e o segundo de liberação, vindo, respectivamente, do inglês revision e release.
O padrão do CVS é designar revisões mantendo constante o primeiro número e mudando apenas o segundo, portanto teríamos 1.1, 1.2 e assim sucessivamente.
Quando um novo arquivo é adicionado, o segundo número será sempre um e o primeiro será igual ao maior primeiro número presente neste diretório. Por exemplo, suponha que em um diretório existam arquivos nas revisões 1.15, 3.12 e 5.5. O próximo arquivo a ser adicionado terá a revisão 5.1.
Pense nas revisões como um controle interno do CVS e não como algo que deva ser atrelado ao documento ou software em desenvolvimento. Para fazer essa amarração pode-se usar o recurso de marcas presente no CVS.
Entretanto, se para você o número da revisão de um arquivo é importante, este pode ser ajustado com a opção -r no comando cvs commit. Para adicionar um arquivo como revisão 6.0 no diretório exemplificado acima, o comando dado seria cvs commit -r 6.0 arquivo. O número da revisão que está sendo enviada deve ser maior que os da já existentes no diretório e, ainda no exemplo acima, seria impossível, por exemplo, enviar um arquivo como pertencente à revisão 4.0.
Pode-se agrupar sob um nome fictício diversas revisões diferentes de arquivos de modo a considerá-las como um produto ou um dos estágios de desenvolvimento deste.
Exemplo 4. Uso de marcas para controle de desenvolvimento
$ ls -l cvs* -rw-rw-r-- 1 godoy godoy 28664 Feb 16 16:02 cvs-admin.sgml -rw-rw-r-- 1 godoy godoy 10800 Feb 16 01:10 cvs.sgml $ cvs tag CVS-1_0 cvs.sgml cvs-admin.sgml $ |
A partir da seqüência de comandos do Exemplo 4 pode-se referir aos arquivos cvs.sgml e cvs-admin.sgml como CVS-1_0. Repare no uso do sinal "_" ao invés de um ".": o CVS possui algumas restrições quanto a caracteres que podem ou não ser utilizados. Dentre os que não podem ser utilizados encontram-se @;. e outros.
A partir desse momento, em todos os lugares onde você poderia citar a revisão de um arquivo, você poderá incluir o nome simbólico CVS-1_0.
É interessante a equipe ter uma abordagem única para a nomenclatura dessas marcações.
Opções mais avançadas estão descritas na seção 4 do manual do CVS.
Se em algum instante do desenvolvimento uma das marcas criadas mostrar-se desinteressante ou mesmo se for incorretamente atribuída, pode-se removê-la com o comando cvs rtag -d CVS-1_0 arquivos.