RCS significa Revision Control System e é um sistema para controlar acesso a arquivos compartilhados por vários usuários.
| Comandos do RCS |
Para que um programa passe a ser gerenciado pelo RCS, é preciso que ele seja primeiro verificado. Para isto basta digitar
ci programa
onde ci significa ckeck in RCS revisions. Em resposta ao comando acima, o RCS solicita a descrição do programa especificado. Para encerrar a descrição, basta utilizar um ponto em uma linha isolada ou utilizar Ctrl+D. O RCS então apaga o arquivo original e cria um novo arquivo com mesmo nome e extensão ",v". Este arquivo é somente para leitura e é maior que o arquivo original porque o sistema RCS acrescenta algumas informações adicionais a esse arquivo tais como versão, descrição recentemente digitada, histórico de alteração, etc. Para que uma cópia do arquivo (apenas para leitura) seja deixado pelo RCS no diretório, basta usar a opção -u, ou seja,
ci -u programa
É também possível definir o número da versão que o RCS armazenará o arquivo. Por exemplo,
ci -r2.0 programa
define que o número da nova versão é 2.0. O RCS não aceita um número de versão menor que o número da última versão gravada.
Para obter uma cópia de trabalho de um arquivo gerenciado pelo RCS, deve-se digitar
co programa
onde co significa ckeck out RCS revisions. Esta cópia entretando é apenas para leitura. Para obter uma cópia do arquivo para alteração e bloqueiar o acesso a esse arquivo por parte dos outros usuários, basta digitar
co -l programa
Pode-se também recuperar uma determinada versão do programa gravado pelo RCS. Por exemplo,
co -r2.0 programa
recupera a versão 2.0 do programa especificado.
Para desbloquear um arquivo sem fazer nenhuma alteração, deve-se digitar
rcs -u arquivo
Para verificar quais as alterações existentes entre a última
versão gravada do programa pelo RCS e a versão atual no seu
diretório, digite
rcsdiff programa
Por exemplo, a seguinte saída
11d10
< ******
15a15,16
> #include "def2.h"
> #include "def3.h"
informa que a linha 11 do arquivo original foi removida e que duas novas linhas, 15 e 16, foram incluidas no arquivo. É também possível verificar as diferenças existentes entre duas versões de um arquivo RCS. Por exemplo,
rcsdiff -r2.0 -r1.0 teste.c
lista as diferenças existentes entre a versão 2.0 e a versão 1.0 do arquivo teste.c gerenciado pelo RCS.
Para obter o histórico das alterações de um arquivo RCS, basta digitar
rlog programa
Para apagar todos os arquivos RCS, em um diretório, que não estão bloqueados para alteração (apenas leitura), pode-se usar o seguinte comando:
rcsclean
Uma forma de organizar os arquivos gerenciados pelo RCS é criar um subdiretório (dentro do diretório dos arquivos RCS) com o nome RCS e mover todos os arquivos RCS para este novo subdiretório. Ao usar o comando ci ou co, o RCS passará a usar este subdiretório como padrão para armazenamento e recuperação de arquivos RCS.
| Palavras-chave do RCS |
É possível documentar o código-fonte usando as informações armazenadas pelo RCS. São exemplos de palavras-chave conhecidas pelo RCS:
$Author$ : identificação do usuário da última revisão.
$Date$ : data e hora da última revisão.
$Id$ : nome do arquivo, versão, data e hora da atualização, autor e estado do programa no gerenciamento do RCS.
$Log$ : mensagem de log gerada durante a verificação.
$Revision$ : número da versão do arquivo.
$Source$ : caminho completo do arquivo RCS.
Quando alguma destas palavras é usada no código-fonte, o RCS a substitui automaticamente durante a verificação do arquivo (comando ci). Portanto, quando estas palavras são usadas dentro de códigos de programas compiláveis, é importante que sejam definidas dentro de comentários. Por exemplo, podemos definir em um programa C:
/*
$Id$
$Log
*/
Mas também é possível utilizar estas informações dentro de um programa C. Para isto basta definir uma string. Por exemplo,
static const char rcsid[] = "$Id$";
Para verificar quais as palavras-chave são usadas em um arquivo RCS, podemos digitar
ident arquivo
| Observações |
O RCS gerencia os programas apenas localmente, ou seja, dentro de um determinado diretório. O CVS (Concurrent Versions System) é uma ferramenta construída sobre a estrutura do RCS e que opera sobre uma rede.
Para ver a documentação online do RCS, digite
man rcsintro