Você está na página 1de 14

Concurrent Versions System

(CVS)

Alexandre Monteiro
O que é CVS?
 Ferramenta de apoio ao
gerenciamento de versões;
 Aplicação cliente – servidor;
 Controla as versões através de
tags;
 Permite visualização de diferenças
entre as versões;
 Permite merging entre versões
conflituosas;
Vantagens
 Integração com ferramentas de
desenvolvimento;
 Projeto Open Source (GNU);
 Permite o rastreamento das atividades
(histórico, usuários ativos);
 Armazenamento inteligente de arquivos;
 Múltiplas linhas de desenvolvimento em
um repositório;
O que não é?
 Mecanismo para backup
 Ferramenta para a construção de builds
 Substituto para comunicação entre
desenvolvedores
 Conflitos não são resolvidos automaticamente
 Ferramenta de solicitação de mudanças
 Não controla requisições de mudança
Arquitetura Cliente-Servidor
 No servidor
 Repositório central
 Armazena histórico de arquivos
 Armazena arquivos de controle
 No Cliente
 Área de trabalho (Workspace)
 Armazena uma cópia dos arquivos do
repositório
WinCVS
 Interface gráfica que permite
acesso ao repositório central
 Permite também o uso de um
repositório local
 Bom para projetos com um único
desenvolvedor rodando Windows ou
MacOS
módulos
Ícone de estado

Número da revisão

Tipo do arquivo
WinCVS – Tela Principal

nome do tag
file view

status view
Usando WinCVS
 Abrir GNU > WinCVS 1.2
 (ou www.wincvs.org)
 Admin > Preferences...
 CVSROOT - :pserver:
{login}@cvs.cin.ufpe.br:/data/if7191055
 Authentication – “passwd” file on the cvs
server
 Admin > Login...
 Colocar a senha...
Usando WinCVS
 Import Module... – Carrega um novo
módulo ao repositório;
 Add... – Adiciona um novo arquivo à um
módulo do repositório;
 Check Out Module... – Carrega um
módulo do repositório para o workspace
local;
 Update Selection... – Carrega a nova
versão do arquivo (ou diretório)
selecionado do repositório para o
workspace local (se houver mudanças não
salvas haverá conflitos);
Usando WinCVS
 Commit Selection... – Salva a versão local
como uma nova versão no repositório;
 Create a Tag by Module... – Facilita o
check out a partir de Tags;
 Create a Branch by Module... – Cria uma
nova linha de desenvolvimento;
 Release Selection – Retira o arquivo ou
diretório selecionado do controle do cvs;
CVS Repository Exploring
 Plug-in do eclipse que permite
acesso a um repositório CVS;
 Facilidade de uso (integração);
 Ótimas ferramentas de diff e
merging;
Módulos e Arquivos

Código
Eclipse – Tela Principal

Histórico e Tags
Adicionando um Repositório
 Window > Open Perspective >
Other...
 CVS Repository Explorer;
 Add CVS Repository
 Host – cvs.cin.ufpe.br;
 Repository Path - /data/if7191055;
 User – {login};
 Connection type - pserver;
 Use Default Port;
Fluxo Ideal de Trabalho
 Comece sem nada.
 Selecione um projeto no branch (ou HEAD) e selecione
Checkout (ou Replace with > Latest from Repository
se o projeto já existe localmente);
 Isso irá apagar qualquer cópia local antiga;
 Faça as mudanças. Trabalhe localmente com o projeto,
salvando as mudanças apenas na sua máquina;
 Sincronize. Quando você estiver pronto, sincronize:
 Update;
 Examine as mudanças, faça as alterações necessárias;
 Rode os Testes;
 Commit;
 Por prudência, repita os passos acima para garantir que não
houve mudanças novamente;

Você também pode gostar