Capítulo 2. Começar

Aceder ao Repositório

Nesta secção, iremos mostrar como usar a funcionalidade do sistema do controlo de versões com o Cervisia, basicamente para obter os módulos do repositório e para trabalhar com eles. Para o fazer, você precisa de ter acesso ao repositório como cliente, o que significa que alguém (provavelmente o administrador do repositório do CVS) lhe deu uma conta no servidor. Em alternativa, você poderá criar facilmente um repositório local para o seu próprio projecto.

Dica

Se planeia desenvolver um projecto complexo, é uma boa ideia usar as funcionalidades do CVS, mesmo que seja o único programador. Você poderá fazer todas as alterações na área local e usar o Cervisia (ou qualquer outra ferramenta do CVS) para se actualizar e enviar as suas alterações. Desta forma, você conseguirá registar as alterações que provocaram erros, repor alterações, evitar perdas de informação acidentais, etc. Ao usar o Cervisia, é simples criar um repositório local.

Procedimento 2.1. Criar um Repositório Local

  1. Abra a janela Criar um Novo Repositório (cvs init), escolhendo a opção RepositórioCriar....

  2. Carregue no botão ... para seleccionar a pasta onde deseja criar o repositório ou indique a sua localização no campo de texto. Por exemplo, se quiser colocar o repositório na pasta /home/utilizador e dar-lhe o nome raiz_cvs, deverá então escrever /home/utilizador/raiz_cvs no campo de texto ou seleccionar a pasta /home/utilizador com o extractor de ficheiros, adicionando então raiz_cvs.

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

  4. Agora, você poderá importar o seu trabalho actual para o repositório ou simplesmente criar uma pasta no repositório, para iniciar um novo módulo do zero.

O Cervisia oferece uma interface integrada para gerir todas as suas localizações do repositório, a janela para Configurar o Acesso aos Repositórios. Para a mostrar, seleccione a opção RepositórioRepositórios....

Figura 2.1. Uma imagem da janela Configurar o Acesso aos Repositórios do Cervisia

Uma imagem da janela Configurar o Acesso aos Repositórios do Cervisia

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

[:método:][[utilizador][:senha]@]servidor[:[porto]]/localização/do/repositório

Nem todos esses itens (o utilizador, senha, máquina ou porto) são sempre necessários para aceder ao repositório. A informação necessária depende do método de acesso usado, o qual pode ser classificado da seguinte forma:

Local

O método de acesso local é o método por omissão usado pelo CVS. Como tal, é opcional adicionar o método :local: à localização do repositório: você poderá indicar simplesmente a localização da pasta que contém o repositório de CVS e é acessível a partir do seu computador, como por exemplo, /local/do/repositorio, ou para dar um exemplo da vida-real, /home/cvs.

Poderá estar fisicamente num disco que seja montado por NFS, mas este é um detalhe irrelevante. Se você criou um repositório local, a localização será simplesmente o nome absoluto da directoria do mesmo.

rsh

A localização do repositório parece-se com algo do género :ext:utilizador@nome.da.maquina.com:/local/do/repositorio.

Este método necessita que você tenha uma conta de utilizador na máquina servidora (neste caso, na nome.da.maquina.com e use uma linha de comandos remota para comunicar. Por omissão, o CVS usa o rsh para este fim, contudo o rsh há muito que é considerado inseguro, e está a ser substituído em larga escala pelo ssh.

Se você precisar de usar o ssh, você precisa de alterar a variável de ambiente $CVS_RSH para ssh, ao usar o cliente do cvs. O Cervisia suporta isto com facilidade.

Repare que o Cervisia não pode responder aos possíveis pedidos de senhas da máquina servidora. Você precisa de se certificar que alguma linha de comandos remota funciona sem necessitar que você introduza a senha. Com o rsh simples, isto poderá ser conseguido, por exemplo, se criar um ficheiro .rhosts na sua área pessoal com uma lista das máquinas de confiança (veja a página de manual do rsh).

Com o ssh, isso poderá ser conseguido se você copiar a sua chave pública identity.pub, localizada na pasta $HOME/.ssh/ para o servidor. Neste caso, a chave não poderá estar cifrada com nenhuma senha (veja a página de manual do ssh).

pserver

O nome do repositório parece-se com algo do género :pserver:utilizador@nome.da.maquina.com:/local/do/repositorio

Este método acede ao servidor através de um protocolo com uma autenticação relativamente fraca (o pserver significa 'password authentication' - autenticação por senha). Antes de poder usar um desses servidores, você precisa de um utilizador e uma senha cedidos pelo administrador de sistemas do CVS. Lembre-se que o seu utilizador na autenticação de CVS não corresponde necessariamente ao utilizador do sistema. Antes de poder aceder ao servidor de CVS, você terá de se autenticar.

Os projectos 'open source' 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 ficheiros de diferenças ('patches') em relação ao repositório, sem que seja necessária uma conta de 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 directamente para o repositório.

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

Procedimento 2.2. Adicionar um Novo Repositório

  1. Abra a janela para Configurar o Acesso aos Repositórios, escolhendo a opção RepositórioRepositórios....

  2. Carregue no botão Adicionar... para abrir a janela Adicionar um Repositório.

  3. Indique a localização do repositório no campo Repositório:. O Cervisia irá desactivar automaticamente as áreas da janela que não sejam relevantes para o método de acesso que você tenha introduzido.

  4. Se você for usar o método 'ext' para aceder ao repositório, indique a linha de comandos remota que irá usar (isto é, a 'ssh') no campo Usar a 'shell' remota (apenas nos repositórios :ext:):.

  5. Carregue em OK. Você irá ver o repositório que introduziu presente na lista de repositórios.

  6. Se o método de acesso ao repositório que introduziu foi a autenticação por senha (pserver), você terá de se autenticar antes de se ligar ao servidor. Carregue no repositório na lista para o seleccionar e carregue no botão Ligar.... Indique a sua senha na janela que aparece.

    Se você introduziu com sucesso a sua senha, a coluna de Estado do repositório 'pserver' irá mudar de Não ligado para Ligado.

  7. Carregue em OK para aplicar as suas modificações ou adicione outra localização à lista. O Cervisia irá guardar tantas localizações quantas desejar.