View
219
Download
3
Embed Size (px)
Citation preview
CVS – Gerenciamento de Versões
Priscila T. L. Rossato
O que é o CVS?
CVS é um sistema de controle de versões (Concurrent Versions System).
Com CVS você pode gerenciar diferentes versões de um programa (ou projeto).
Pode atualizar, adicionar e eliminar arquivos e diretórios ao programa.
Pode criar ramificações de um projeto. Múltiplos programadores podem trabalhar ao mesmo
tempo no mesmo projeto. http://www.cvshome.org/
Descrição Básica
Repositório (Servidor CVS)– é o repositório central:– é uma árvore de arquivos e diretórios que corresponde à
última versão de cada um dos arquivos-fonte do projeto e armazena também todo o histórico de modificações realizadas
– adicionalmente, contém arquivos criados pelo programa cvs para o gerenciamento das versões.
– acesso nunca é direto, mas através de ferramentas do pacote CVS
Módulos: nomes definidos pelo usuário para subconjuntos da árvore de diretórios do repositório
Descrição Básica
Cópia de Trabalho (Cliente CVS):– cada usuário trabalha em sua própria cópia dos arquivos e
diretórios de um repositório, utilizada no desenvolvimento– usuários trabalham concorrentemente: nada é “travado”
(lock files) ou “reservado” ;– Cada usuário pode criar sua própria cópia dos arquivos a
qualquer momento - normalmente pega-se as últimas versões;
– versões anteriores também podem ser obtidas facilmente;
Conceitos Básicos
Versão: – Todo arquivo tem uma versão que é automaticamente
definida pelo cvs. – De uma maneira geral a versão do arquivo é redefinida a
cada alteração do arquivo que foi gravada no repositório.
Conceitos Básicos
Tag: – É um nome simbólico
dado a uma determinada versão do projeto, pode ser usado para delimitar etapas do desenvolvimento de um projeto.
– É possivel reverter o projeto para uma versão anterior através da tag.
Conceitos Básicos
Release: – É uma versão definitiva de todos os arquivos do projeto.– A diferença entre o tag e o release, é que o tag não modifica a
versão dos arquivos do projeto. O release modifica a versão de todos os arquivos, dando a todos os arquivos um mesmo número de versão.
– Depois de definido o release o mesmo não pode ser modificado.
Conceitos Básicos
Brach: – Um branch (ramo) é usado para dividir um projeto.
Normalmente existe o ramo mestre e os ramos secundários.– É possivel fundir dois branches (merge) de maneira
automática
Principais Comandos
checkout: obter uma cópia de um módulo para a área de trabalho local
commit: enviar as alterações da cópia local para o repositório
update: atualizar a cópia local com eventuais mudanças do repositório
add/remove: adicionar e remover arquivos de um módulo
diff: compara diferentes versões dos arquivos
Diagrama de Operação
TortoiseCVC
TortoiseCVS é uma interface gráfica de um Cliente CVS.
Fácil e intuitiva Permite que os desenvolvedores controle os
arquivos do CVS diretamente pelo Windows Explorer
Entendendo os ícones
Checkout - Obter um módulo
Commit – CVS Gravar
Novo Arquivo: Primeiro tem que Adicionar o arquivo e depois Gravar
Alterar Arquivo Existente: Apenas Gravar o arquivo
Excluir Arquivo: Deve Remover o arquivo e depois Gravar a remoção
Update – CVS Atualizar
Quando dois ou mais desenvolvedores modificam o mesmo arquivo-fonte, o CVS irá automaticamente fundir as modificações durante o commit
Entretanto, se dois (ou mais) desenvolvedores modificam a mesma linha, o CVS registra um conflito e aceita apenas o primeiro commit realizado
Conflitos
O CVS deixará indicações do conflito na sua cópia de trabalho, os arquivos em conflito contém marcações na forma: <<<<< <nome do arquivo>
[versão local do código] ===== [versão do repositório]>>>>> <número da versão no repositório>
Essas marcações deixam o código "incompilável“ Por garantia, o CVS faz uma cópia da versão local antes de
colocar as marcações (pe. .#usanConst.pas.1.41) O conflito deve ser resolvido manualmente pelo
desenvolvedor, onde ele deve escolher qual é o código correto
Utilitários
Diferenças: mostra visualmente a diferença entre dois arquivos.
Utilitários
Histórico: é o histórico de todas as alterações do arquivo (data, autor e comentário).
Utilitários
Anotações: é possível ver quem alterou cada linha do arquivo e em qual versão.
Alteração Manual do Repositório (Linux)
Em algumas situações é preferível alterar manualmente o repositório, ao invés de utilizar os comandos add e remove:– para mover diretórios e preservar seu conteúdo
inalterado– para mover arquivos e manter seu histórico– para remover arquivos e diretórios
definitivamente do CVS, inclusive seus históricos
Atenção !!!
SEMPRE LEMBRE DE COLOCAR O COMENTÁRIO AO GRAVAR O ARQUIVO
Todos os Forms devem ser gravados em forma de Texto, para isso sempre selecione a opção “Text DFM”
Sempre lembre de adicionar as novas classes ao projeto
Referências
Uso do CVS com Eclipse –– http://hotwork.sourceforge.net/hotwork/manual/ecl
ipse/eclipse-user-guide.html#CONTROLE_DE_VERS%C3O
Uso do CVS com Tortoise –– http://www.tortoisecvs.org/