cvs – gerenciamento de versões priscila t. l. rossato

22
CVS – Gerenciamento de Versões Priscila T. L. Rossato

Upload: monica-angela-cerveira-garrau

Post on 07-Apr-2016

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: CVS – Gerenciamento de Versões Priscila T. L. Rossato

CVS – Gerenciamento de Versões

Priscila T. L. Rossato

Page 2: 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/

Page 3: CVS – Gerenciamento de Versões Priscila T. L. Rossato

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

Page 4: CVS – Gerenciamento de Versões Priscila T. L. Rossato

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;

Page 5: CVS – Gerenciamento de Versões Priscila T. L. Rossato

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.

Page 6: CVS – Gerenciamento de Versões Priscila T. L. Rossato

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.

Page 7: CVS – Gerenciamento de Versões Priscila T. L. Rossato

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.

Page 8: CVS – Gerenciamento de Versões Priscila T. L. Rossato

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

Page 9: CVS – Gerenciamento de Versões Priscila T. L. Rossato

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

Page 10: CVS – Gerenciamento de Versões Priscila T. L. Rossato

Diagrama de Operação

Page 11: CVS – Gerenciamento de Versões Priscila T. L. Rossato

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

Page 12: CVS – Gerenciamento de Versões Priscila T. L. Rossato

Entendendo os ícones

Page 13: CVS – Gerenciamento de Versões Priscila T. L. Rossato

Checkout - Obter um módulo

Page 14: CVS – Gerenciamento de Versões Priscila T. L. Rossato

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

Page 15: CVS – Gerenciamento de Versões Priscila T. L. Rossato

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

Page 16: CVS – Gerenciamento de Versões Priscila T. L. Rossato

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

Page 17: CVS – Gerenciamento de Versões Priscila T. L. Rossato

Utilitários

Diferenças: mostra visualmente a diferença entre dois arquivos.

Page 18: CVS – Gerenciamento de Versões Priscila T. L. Rossato

Utilitários

Histórico: é o histórico de todas as alterações do arquivo (data, autor e comentário).

Page 19: CVS – Gerenciamento de Versões Priscila T. L. Rossato

Utilitários

Anotações: é possível ver quem alterou cada linha do arquivo e em qual versão.

Page 20: CVS – Gerenciamento de Versões Priscila T. L. Rossato

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

Page 21: CVS – Gerenciamento de Versões Priscila T. L. Rossato

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

Page 22: CVS – Gerenciamento de Versões Priscila T. L. Rossato

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/