Importando um Módulo Para o Repositório

Nesta seção, nós discutiremos como você pode colocar um novo projeto em um repositório CVS. Se você apenas deseja trabalhar com um projeto existente que já está em um repositório, você pode pular esta seção.

Existem duas maneiras de colocar um projeto em um CVS:

  • Importar os arquivos e pastas para um novo módulo, usando o diálogo de importação do Cervisia. Módulos são pastas de nível superior na árvore de pastas do repositório CVS, e são usados para separar e organizar os diferentes projetos de software dentre do repositório.

  • Criar um módulo vazio e adicionar os novos arquivos e pastas manualmente. Você terá mais controle, mas isto provavelmente demorará um pouco mais.

Importante

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

Importar um projeto (como um novo módulo) tem algumas vantagens: você importará todos os arquivos e pastas recursivamente, e o módulo automaticamente será criado para você. Isto torna a importação de grandes projetos existentes para o repositório mais fácil. No entanto, existem algumas desvantagens: você não pode usar o diálogo de importação do Cervisia para adicionar arquivos aos módulos existentes, e você pode tanto importar os arquivos como arquivos texto ou binário. Você pode trabalhar esta limitação criando uma pasta com arquivos de somente um dos tipos, ou informando padrões dos arquivos que devem ser ignorados durante o processo de importação.

Por exemplo, suponhamos que seu projeto contenha somente arquivos texto e algumas imagens PNG (arquivos binários). Você pode dizer ao CVS para ignorar todos os arquivos com o padrão *.png enquanto importa qualquer outro arquivo como texto, ou você pode mover as imagens para uma pasta separada, e então importar os arquivos remanescentes (como arquivos texto). De qualquer modo, você terá que baixar o novo módulo importado para uma nova cópia de trabalho, copiar os arquivos e pastas que faltam para ele, adicionar e enviar estes arquivos e pastas para o repositório para completar o processo de importação.

Como alternativa, você pode adicionar os arquivos e pastas manualmente, criando um módulo vazio para eles. Para adicionar um módulo vazio ao repositório, simplesmente crie uma nova pasta na pasta raiz do repositório CVS. O nome desta nova pasta será o nome do módulo. Baixe o novo módulo vazio. Então copie os arquivos e pastas para a cópia de trabalho, adicione e envie estes arquivos e pastas para o repositório CVS.

Figura 2.2. Uma captura de tela do diálogo de importação do Cervisia

Uma captura de tela do diálogo de importação do Cervisia

Em Figura 2.2, “Uma captura de tela do diálogo de importação do Cervisia você pode ver o diálogo que o auxilia a importar um projeto como um módulo. Para acessar o diálogo de importação do Cervisia, selecione o item de menu RepositórioImportar....

Repositório:

Insira ou selecione na lista o nome do repositório CVS, também conhecido por $CVSROOT. Você precisa ter acesso de escrita à ele, 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 caixa combinada mostra uma lista de repositórios que você inseriu previamente na caixa de diálogo Configurar Acesso aos Repositórios.Se o repositório é remoto, certifique-se de que a autenticação funciona. Veja em “Acessando O Repositório” para mais informações.

Módulo:

O nome do módulo sob o qual o projeto será armazenado. Após a importação, o projeto pode ser verificado sob este nome. Veja “Baixar um Módulo do Repositório” para mais informações. Isto é também o nome da pasta correspondente no repositório.

Pasta de Trabalho:

Este é a pasta de nível superior do projeto que você deseja importar. A importação inicia a partir desta pasta e vai descendo recursivamente.

Tag do vendedor:

A tag do vendedor é historicamente usada para pesquisar por código de outros grupos. Apenas use seu nome de usuário se não tiver melhor ideias. Não faz muita diferença o que você insere aqui.

Tag da versão:

Esta tag é também historicamente usada para importar diferentes versões de softwares de outros grupos. Se você não está fazendo isto, usa a palavra start ou um string FOO_1_0 onde FOO é o nome do seu projeto e 1.0 é o número de versão do módulo importado.

Ignorar arquivos:

Se você preencher este campo, uma opção adicional -I nomes de arquivo é fornecida para o comando cvs import. Esta entrada é interpretada como uma lista separada por espaços em branco de padrões de nomes de arquivo que serão ignorados. Em geral, uma maneira limpa e menos suscetível a erros de controlar quais arquivos irão para o repositório é criar uma pasta somente com os arquivos que você deseja importar e iniciar a partir dela. No entanto, esta entrada pode ser útil se o projeto contém arquivos que serão ignorados por padrão pelo CVS, por exemplo arquivos com o nome core. Neste caso, simplesmente insira o caracter ! neste campo. Isto sobrepõe-se as regras de esquema do CVS de arquivos ignorados, veja “Arquivos Ignorados”.

Comentário:

Use este campo para gravar os comentários que você deseja fazer sobre o origem, usuário, desenvolvimento, etc., dos arquivos que você está importando.

Importar como binários

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

Usar a modificação do arquivo como hora de importação

Se você habilitar esta caixa, a hora de importação será a hora de modificação do arquivo ao invés da hora de importação.

Após você ter preenchido este formulário e confirmado pressionando OK, o seguinte comando CVS é enviado:

cvs -d repositório import -m "❷" módulo tagvendedor tagversão