Escolar Documentos
Profissional Documentos
Cultura Documentos
(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;