A.3. CVS Anônimo

A.3.1. Introdução

CVS anônimo (ou, como ele também é conhecido, anoncvs) é uma facilidade disponibilizada pelo utilitário CVS, distribuído junto com o FreeBSD, para sincronização com um repositório CVS remoto. Entre outras coisas ele permite que usuários do FreeBSD, mesmo sem qualquer privilégio especial, executem operações somente de leitura nos servidores oficiais anoncvs do projeto FreeBSD. Para usá-lo simplesmente atribua à variável do sistema CVSROOT o endereço do servidor anoncvs mais apropriado para você. Forneça a senha anoncvs com o comando cvs login e então use o comando cvs(1) para acessá-lo como se fosse qualquer outro repositório local.

Nota: O comando cvs login guarda a senha que é usada para autenticação no servidor CVS num arquivo chamado .cvspass em seu diretório HOME. Se este arquivo não existe você poderá receber uma mensagem de erro quando tentar usar o comando cvs login pela primeira vez. Crie um arquivo .cvspass vazio e tente novamente.

Embora se possa dizer que os serviços CVSup e anoncvs fazem basicamente a mesma coisa, existem vários aspectos a considerar na escolha do método de sincronização. Em poucas palavras o CVSup é muito mais eficiente no uso dos recursos de rede e utiliza uma tecnologia mais sofisticada, mas a um preço. Para usar o CVSup, um cliente especial deverá primeiramente ser instalado e configurado antes que qualquer bit possa ser transferido, depois disto a transferência se dará em grandes pedaços identificados pelo CVSup como collections.

Por outro lado o Anoncvs, pode ser usado para examinar qualquer coisa desde um arquivo específico até um programa específico (como ls or grep) simplesmente referenciado-se o nome do módulo no CVS. O anoncvs é bom exclusivamente para operações somente de leitura no repositório CVS. Se sua intenção é participar com desenvolvimento local num projeto FreeBSD mantido num repositório central compartilhado, então o uso do CVSup é sua única opção.

A.3.2. Usando o CVS Anônimo

Para configurar o cvs(1) para usar um repositório CVS Anônimo é preciso somente atribuir à variável CVSROOT do sistema o endereço de um repositório anoncvs do FreeBSD. Atualmente existem os seguintes repositórios:

Uma vez que o CVS permite realizar a operação de ``check out'' para praticamente qualquer versão do FreeBSD que exista, você precisa estar familiarizado com a opção de revisão (-r) para o cvs(1) e quais são os valores permitidos para ela no repositório FreeBSD.

Existem duas espécies de etiquetas (tags), a etiqueta de revisão revision tags e a etiqueta de ramo branch tags. Uma etiqueta de revisão refere-se a uma revisão específica. Isto significa que ela será a mesma hoje e amanhã. Já uma etiqueta de ramo refere-se a última revisão numa dada linha de desenvolvimento. Como um etiqueta de ramo não se refere a uma revisão em especial, ela poderá ser diferente de hoje para amanhã .

A Seção A.6 contém as etiquetas de revisão válidos. Elas não são válidas para os ports collection já que eles não têm múltiplas revisões.

Ao especificar uma etiqueta de ramo você receberá a última versão dos arquivos naquela linha de desenvolvimento. Se você desejar receber alguma versão anterior, isto poderá ser feito especificando-se uma data com a opção -D data. Veja cvs(1) para mais detalhes.

A.3.3. Exemplos

Embora seja realmente recomendado que você leia profundamente o Manual para cvs(1) antes de fazer qualquer coisa. Abaixo estão alguns exemplos simples que mostram basicamente como usar o CVS anônimo:

Exemplo A-1. Sincronizando Alguma Coisa de -CURRENT (ls(1)) e Apagando-a Depois:

% setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs
% cvs login
Quando solicitado, entre com a senha ``anoncvs''.  
% cvs co ls
% cvs release -d ls
% cvs logout
     

Exemplo A-2. Sincronizando a Versão do ls(1) no Ramo 3.X-STABLE:

% setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs
% cvs login
Quando solicitado, entre com a senha ``anoncvs''.  
% cvs co -rRELENG_3 ls
% cvs release -d ls
% cvs logout
     

Exemplo A-3. Criando uma Lista de Alterações (Unified Diffs) do ls(1)

% setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs
% cvs login
Quando solicitado, entre com a senha ``anoncvs''.  
% cvs rdiff -u -rRELENG_3_0_0_RELEASE -rRELENG_3_4_0_RELEASE ls
% cvs logout
     

Exemplo A-4. Procurando que Outros Nomes de Módulos Podem Ser Usados:

% setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs
% cvs login
Quando solicitado, entre com a senha ``anoncvs''.  
% cvs co modules
% more modules/modules
% cvs release -d modules
% cvs logout
     

A.3.4. Outras Fontes para Consulta

As seguintes fontes de informação adicionais podem auxiliá-lo no aprendizado do CVS:

Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.