Servidor CVS: Instalando, configurando e gerenciando no Linux
Neste artigo procurarei mostrar de maneira prática e eficiente como instalar, configurar e gerenciar um servidor CVS no Linux. Nele serão abordados os seguintes temas: introdução; instalando, configurando e administrando o servidor CVS no Linux; CVSROOT; clientes CVS; bibliografia.
1. Introdução
O CVS (Concurrent Version System) é um sistema de controle de versão que permite que se trabalhe com diversas versões de arquivos organizados em um diretório e localizados local ou remotamente, mantendo as versões antigas e os logs de quem e quando manipulou os arquivos.
O CVS é uma estrutura cliente/servidor, o servidor é responsável por armazenar as versões atuais do projeto e seu histórico, os clientes e conectam ao servidor para receber uma cópia do projeto, trabalhar nessa cópia e depois enviar as modificações para o servidor.
Geralmente os servidores CVS rodam em sistemas Unix, enquanto os clientes CVS podem rodar em qualquer sistema operacional.
Antes de começarmos a parte prática é necessário conhecer alguns conceitos básicos do CVS:
Os sistemas CVS possuem algumas limitações que devem ser explicadas:
Além disso, o CVS está sendo substituído por outro sistema chamado Subversion, cujo objetivo é lidar com algumas de suas limitações.
O CVS é uma estrutura cliente/servidor, o servidor é responsável por armazenar as versões atuais do projeto e seu histórico, os clientes e conectam ao servidor para receber uma cópia do projeto, trabalhar nessa cópia e depois enviar as modificações para o servidor.
Geralmente os servidores CVS rodam em sistemas Unix, enquanto os clientes CVS podem rodar em qualquer sistema operacional.
Antes de começarmos a parte prática é necessário conhecer alguns conceitos básicos do CVS:
- Repositório - É um módulo ou um conjunto de módulos existentes dentro de um servidor CVS;
- Checkout - É o download de um módulo inteiro a partir do repositório CVS;
- Módulo - É uma hierarquia de diretórios contendo arquivos do projeto;
- Commit - É o envio das modificações feitas pelo usuário ao repositório CVS;
- Export - É o download de um módulo inteiro de um repositório CVS, mas sem os arquivos administrativos;
- Import - Importa um módulo para dentro do repositório CVS;
- Release - É a versão de um produto inteiro;
- Tag - É um nome simbólico dado a um conjunto de arquivos em um determinado momento do desenvolvimento;
- Update - É a atualização da cópia local de trabalho através do download das alterações feitas por outros usuários no repositório.
Os sistemas CVS possuem algumas limitações que devem ser explicadas:
- Os arquivos não podem ser renomeados em um repositório CVS, eles devem ser removidos e depois readicionados;
- Não é permitido que os diretório sejam movidos ou renomeados. Cada arquivo do subdiretório em questão deve ser individualmente removido ou readicionado;
- Não permite checkout reservados.
Além disso, o CVS está sendo substituído por outro sistema chamado Subversion, cujo objetivo é lidar com algumas de suas limitações.