Capítulo 2. Iniciando

Acessando O Repositório

Nesta seção, nós mostraremos como usar as funcionalidades básicas do sistema de controle de versão usando o Cervisia, basicamente para copiar módulos do repositório e trabalhar com eles. Para fazer isto, você deve ter acesso ao repositório como um cliente, ou seja, alguém (provavelmente o administrador do repositório CVS) deve lhe fornecer uma conta na máquina servidora. Alternativamente, você pode facilmente criar um repositório local para seu próprio projeto.

Dica

Se você planeja desenvolver um projeto complexo, é uma boa ideia usar os recursos do CVS, mesmo que seja o único desenvolvedor. Você pode fazer todas as mudanças em sua cópia de trabalho e usar o Cervisia (ou qualquer outra ferramenta CVS) para atualizar e enviar. Deste modo, você obterá a habilidade de rastrear mudanças que causem erros, reverter mudanças, evitar perda acidental de informação, etc. Usando o Cervisia é simples criar um repositório local.

Procedimento 2.1. Criando um Repositório Local

  1. Abra o diálogo Criar Novo Repositório (cvs init) escolhendo RepositórioCriar....

  2. Pressione o botão ... para selecionar a pasta onde você deseja criar o repositório, ou insira sua localização na caixa de texto. Por exemplo, se você deseja colocar o repositório na pasta /home/usuario, e nomeá-lo como raizcvs, você deve digitar /home/usuario/raizcvs na caixa de texto, ou selecionar a pasta /home/usuario usando o selecionador de arquivo e adicionar raizcvs.

  3. Confirme pressionando o botão OK. O Cervisia criará e inicializará a nova pasta do repositório.

  4. Agora você pode importar seu trabalho atual para o repositório, ou simplesmente criar uma pasta no repositório para iniciar um novo módulo a partir do zero.

O Cervisia oferece uma interface integrada para gerenciar todas as localizações de seus repositórios, o diálogo Configurar Acesso aos Repositórios. Para exibi-lo, selecione o item de menu RepositórioRepositórios....

Figura 2.1. Uma captura de tela da caixa de diálogo Configurar Acesso aos Repositórios do Cervisia

Uma captura de tela da caixa de diálogo Configurar Acesso aos Repositórios do Cervisia

Existem vários métodos para acessar a um repositório de CVS. Ele pode ser acessado através da autenticação por senha (:pserver:), por uma linha de comandos segura (usando o :ext:), um em repositório local (:local:), etc. O formato para a localização do repositório é (os itens opcionais aparecem entre colchetes):

[:método:][[usuário][:senha]@]nomemáquina[:[porta]]/caminho/para/repositório

Nem todos os itens (usuário, senha, nome da máquina, porta) são sempre necessários para acessar o repositório. As informações necessárias dependem do método de acesso usado, que pode ser categorizado como se segue:

Local

O método de acesso local é o método padrão usado pelo CVS. Logo, é opcional adicionar o método :local: à localização do repositório. Você pode inserir simplesmente o caminho para a pasta que armazena o repositório CVS, e é acessível de seu computador, como /caminho/para/repositório ou para fornecer um exemplo da vida real, /home/cvs.

Ela pode estar fisicamente em um disco que é montado via NFS, mas este é um detalhe irrelevante. Se você criar um repositório local, a localização será simplesmente o caminho para ele.

rsh

A localização do repositório se parece com algo como :ext:usuario@maquina.url.org:/caminho/para/repositorio.

Este método necessita que você tenha uma conta de usuário na máquina servidora (neste exemplo, maquina.url.org) e use um shell remoto para comunicação. Por padrão, o CVS usa o rsh para esta finalidade, no entanto, o rsh é considerado muito inseguro, e é frequentemente substituído pelo ssh.

Se você usar o ssh, você deve configurar a variável de ambiente $CVS_RSH para ssh quando usar o cliente cvs. O Cervisia suporta isto facilmente.

Observe que o Cervisia não pode responder a possíveis solicitações de senha da máquina servidora. Você deve certificar-se que um login remoto trabalhe sem requisitar que você insira a senha. Com o rsh, isto pode ser conseguido por exemplo criando um arquivo .rhosts em sua pasta pessoal com uma lista de máquinas confiáveis (veja o manual do rsh).

Com o ssh, isto pode ser conseguido copiando sua chave pública localizada no arquivo identity.pub, localizado na pasta $HOME/.ssh para o servidor. Neste caso, a chave não deve estar criptografada com a senha, veja o manual do ssh.

pserver

A localização do repositório se parece com algo como :pserver:usuario@maquina.url.org:/caminho/para/repositorio

Este método acessa o servidor através de um protocolo especial com um autenticação relativamente fraca (pserver pede por uma autenticação de senha). Antes de você poder usar um servidor, você precisa de um nome de usuário e senha fornecidos pelo administrador do servidor CVS, e deve realizar o login. Observe que seu nome de usuário e senha para o CVS não precisam necessariamente corresponder aos do sistema. Antes de acessar o servidor CVS, você precisará logar-se.

Os projetos de código aberto oferecem tipicamente o acesso anônimo do CVS ao seu código. Isto significa que você poderá obter facilmente a última versão do código, modificar e criar arquivos de diferenças ('patches') em relação ao repositório, sem que seja necessária uma conta no CVS. Como regra geral, o CVS anônimo usa a autenticação por senhas (:pserver:), e é um repositório apenas para leitura, o que o impede de enviar as suas alterações diretamente para o repositório.

Conhecendo o método de acesso e localização do repositório, você pode adicioná-lo à lista de repositórios do Cervisia:

Procedimento 2.2. Adicionando um Novo Repositório

  1. Abra o diálogo Configurar Acesso aos Repositórios selecionando o item de menu RepositórioRepositórios....

  2. Pressione o botão Adicionar... para abrir o diálogo Adicionar Repositório.

  3. Insira a localização do repositório na caixa de texto Repositório:. O Cervisia automaticamente desabilitará áreas do diálogo que não são relevantes ao método de acesso inserido.

  4. Se você estiver usando o método de acesso ext ao repositório, insira o shell remoto que deseja usar (por exemplo ssh) na caixa de texto Usar shell remoto (somente para repositórios :ext:):.

  5. Pressione OK. Você verá o repositório que acabou de inserir na lista de repositórios.

  6. Se o método de acesso do repositório que você inseriu é autenticado por senha (pserver), você precisará logar-se antes de conectar ao servidor. Clique o repositório na lista para selecioná-lo, e pressione o botão Login.... Insira sua senha no diálogo que é exibido.

    Se você inserir com sucesso sua senha, a entrada de coluna Estado do repositório pserver mudará de Não logado para Logado.

  7. Pressione OK para aplicar suas modificações, ou adicione outra localização à lista. O Cervisia armazenará tantas localizações quanto desejar.