Importar um Módulo Para o Repositório

Nesta secção, iremos discutir como é que se coloca um novo projecto no repositório do CVS. Se você apenas quiser trabalhar num projecto existente que já se encontre num repositório, poderá ignorar esta secção.

Existem duas formas de colocar um projecto no CVS:

  • Importe os ficheiros e pastas para um novo módulo, usando a janela de importação do Cervisia. Os módulos são as pastas de topo na árvore de pastas do repositório do CVS e são usadas para separar e organizar os vários projectos de 'software' dentro do repositório.

  • Crie um módulo vazio e adicione os ficheiros e pastas novos manualmente. Você irá ter mais controlo, mas irá ocupar provavelmente um pouco mais de tempo.

Importante

Tenha em mente que o CVS foi desenhado inicialmente para lidar com ficheiros de texto. Muitas das funcionalidades, como a junção de versões, a criação de diferenças de forma legível, etc... só são efectuadas em ficheiros de texto. Isto não significa que não possa usar o CVS para manter os ficheiros binários, significa apenas que você terá de indicar explicitamente ao CVS se é um ficheiro de texto ou binário. Se declarar o tipo errado de ficheiro, você poderá ter problemas com as funcionalidades do CVS para esses ficheiros, ficando eles corrompidos.

A importação de um projecto (como um módulo novo) tem algumas vantagens: você irá importar todos os ficheiros e pastas recursivamente, sendo o módulo criado automaticamente para si. Isto torna a importação de grandes projectos existentes para o repositório mais simples. Contudo, existem algumas desvantagens: você não pode usar a janela de importação do Cervisia para adicionar ficheiros aos módulos existentes, assim como também não pode importar os ficheiros como texto ou binários. Você poderá dar a volta a esta limitação se criar uma pasta com ficheiros de apenas um dos tipos ou indicando ainda os padrões dos ficheiros que deverão ser ignorados durante o processo de importação.

Por exemplo, suponha que o seu projecto só contém ficheiros de texto e algumas imagens PNG (ficheiros binários). Você poderá dizer ao CVS para ignorar todos os ficheiros com o padrão *.png enquanto importa os outros ficheiros como texto, ou poderá ainda mover as imagens para uma pasta separada, importando depois os ficheiros restantes (como ficheiros de texto). De qualquer das formas, você terá de obter o módulo novo importado para uma nova cópia loca, copiar os ficheiros e pastas que faltam para lá, adicionar e enviar os mesmos para o repositório para terminar o processo de importação.

Como alternativa, você poderá adicionar os ficheiros e pastas manualmente, criando um módulo vazio para eles. Para adicionar um módulo vazio a um repositório, basta criar uma pasta nova na pasta de base do repositório do CVS. O nome dessa pasta nova será o nome do módulo. Extraia (faça 'checkout') do novo módulo vazio. Depois copie os ficheiros e pastas para a área de trabalho, adicione-os e envie-os para o repositório do CVS.

Figura 2.2. Uma imagem da janela de importação do Cervisia

Uma imagem da janela de importação do Cervisia

No Figura 2.2, “Uma imagem da janela de importação do Cervisia você poderá ver a janela que o ajuda a importar um projecto como um módulo. Para aceder à janela de importação do Cervisia, escolha o item do menu RepositórioImportar....

Repositório:

Indique ou seleccione na lista o nome do repositório do CVS, também conhecido por $CVSROOT. Você precisa de ter acesso de escrita ao mesmo, e o repositório precisa de estar devidamente inicializado. Se o repositório ainda não existir, inicialize-o com a opção do menu RepositórioCriar....

A lista em baixo apresenta os repositórios que você introduziu anteriormente com a janela Configurar o Acesso aos Repositórios. Se o repositório for remoto, certifique-se que a autenticação resulta; veja em “Aceder ao Repositório” para obter mais informações.

Módulo:

O nome do módulo sob o qual será guardado o projecto. Depois da importação, o projecto poderá ser obtido, usando este nome. Veja em “Obter um Módulo do Repositório” para mais informações. Este é também o nome da pasta correspondente no repositório.

Pasta de Trabalho:

Esta é a pasta de topo do seu projecto que deseja importar. A importação tem início nesta pasta e vai percorrendo para baixo, recursivamente.

Marca do distribuidor:

A marca do vendedor ou distribuidor é usada historicamente para registar o código de terceiros. Basta usar o seu nome de utilizador, se não tiver uma ideia melhor. Não interessa assim tanto o que você introduzir aqui.

Marca de lançamento:

Esta marca ou 'tag' é também usada historicamente para importar versões diferentes do 'software' de terceiros. Se você não estiver a fazer isto, indique algo do género inicio ou um texto XPTO_1_0 em que o XPTO é o nome do seu projecto e o 1.0 é o número da versão que foi importada.

Ignorar os ficheiros:

Se você preencher este campo, é passada uma opção -I nome_ficheiros adicional ao comando cvs import. Este item é interpretado como sendo uma lista de padrões de ficheiros separados por espaços, correspondendo aos padrões de ficheiros a ignorar. De um modo geral, uma forma mais limpa e menos sujeita a erros de controlar quais os ficheiros que vão para o repositório é criar uma pasta apenas com os ficheiros que deseja importar e começar a partir daí. Contudo, este item poderá ser útil se o projecto conter ficheiros que são ignorados por omissão pelo CVS, p.ex. os ficheiros com o nome core. Nesse caso, basta indicar o carácter ! neste campo. Isto sobrepõe-se ao esquema de ficheiros ignorados do CVS; veja isso em “Ficheiros Ignorados”.

Comentário:

Use este campo para registar os comentários que você possa ter sobre a origem, a utilização, o desenvolvimento, etc., dos ficheiros que está a importar.

Importar como binários

Se você assinalar esta opção, todos os ficheiros serão importados no modo binário, isto é é passado um argumento -kb ao comando cvs import.

Usar a modificação dos ficheiros como hora de importação

Se usar esta opção, a hora de importação será a hora de modificação dos ficheiros em vez da hora de importação real.

Depois de ter preenchido este formulário e confirmar com o OK, é usado o seguinte comando do CVS:

cvs -d repositorio import -m "❷" modulo marca_vendedor marca_versao