A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Concurrent Versions System Leandro Augusto de Oliveira

Apresentações semelhantes


Apresentação em tema: "Concurrent Versions System Leandro Augusto de Oliveira"— Transcrição da apresentação:

1 Concurrent Versions System Leandro Augusto de Oliveira laugusto@inf.pucrs.br

2 2 Sumário Introdução Por que usar o CVS? Criando um projeto com CVS Comandos básicos Adicionando, removendo e renomeando arquivos e diretórios Revisões e tags Desvios Substituição de palavras chave Conclusões

3 3 Introdução CVS é um sistema de controle de versões concorrente. É um software de código aberto, com licença GPL. Está disponível em www.cvshome.org

4 4 Por que usar o CVS? Problemas em fazer controle de versões manualmente: –Utiliza muito espaço em disco –Conduz facilmente a erros CVS salva o arquivo e todo seu histórico de modificações em um único arquivo, armazenando apenas as diferenças entre as versões. CVS permite que vários desenvolvedores trabalhem sobre o mesmo arquivo simultaneamente. Ele se encarrega de mesclar as versões, relatando conflitos.

5 5 Por que usar o CVS? Ajuda a rastrear bugs. Por exemplo, quando o código é modificado, é comum que o programador introduza erros que somente são detectados muito tempo após a alteração. Com CVS, é possível recuperar uma versão anterior que funcione para identificar a causa do erro. Também permite verificar a produtividade de um programador, através do histórico de modificações.

6 6 Criando um projeto com CVS A variável de ambiente $CVSROOT deve apontar para o diretório onde está localizado o repositório do CVS. Para adicionar um projeto ao repositório –$ cd wdir –$ cvs import rdir gaph start –$ cd.. –$ cvs checkout rdir –$ rm -r wdir

7 7 Comandos Básicos Para recuperar um projeto chamado xuxu: –$ cvs checkout xuxu Para gravar suas alterações no repositório: –$ cvs commit Para recuperar as alterações no projeto atual: –$ cvs update

8 8 Adicionando, removendo e renomeando arquivos e diretórios Para adicionar um arquivo no repositório –$ cvs add arquivo.c Para remover um arquivo –$ cvs remove arquivo.c Para remover um diretório remova todos os arquivos dentro dele. A opção -P nos updates e checkouts para retira os diretórios vazios. Para renomear arquivos: –$ mv old new –$ cvs remove old –$ cvs add new –$ cvs commit -m "Renamed old to new" old new

9 9 Revisões e tags Cada arquivo tem um número de revisão associado. Para mudar o número de revisão do arquivo: –$ cvs commit -r 2.0 Para atribuir uma tag à revisão atual: –$ cvs tag rel-0-4 arquivo.c Para verificar as tags de um arquivo –$ cvs status -v arquivo.c Para recuperar a revisão com uma determinada tag: –$ cvs checkout -r rel-1-0 projeto

10 10 Desvios Suponha que foi lançada a versão 1.0 do software e já se está trabalhando na 2.0. Porém, são encontrados bugs na versão 1.0, e demorará muito até que a próxima versão seja lançada. Um desvio na linha natural de desenvolvimento do software terá que ser feito. As correções feitas podem ser necessárias também na versão 2.0.

11 11 Desvios Para criar um desvio: –$ cvs tag -b rel-1-0-patches Será preciso escolher o desvio: –$ cvs checkout -r rel-1-0-patches projeto Ou, se já existe uma cópia: –$ cvs update -r rel-1-0-patches Para mesclar o desvio na versão final –$ cvs checkout projeto # Recupera última revisão –$ cvs update -j R1fix m.c # Mescla desvios –$ cvs commit -m "Included R1fix" # Cria revisão 2.1.

12 12 Substituição de palavras chave –$Author$ --> login do último a alterar o arquivo. –$Date$ --> Data e hora da revisão. –$Header$ --> Um cabeçalho contendo o caminho do arquivo no repositório, a revisão, a data, o autor, o estado, e o responsável pelo lock. –$Id$ --> Mesmo que $Header$, mas sem o caminho para o arquivo. –$Name$ -->A tag usada para recuperar o arquivo. Por exemplo, ao executar o comando cvs co -r first, a palavra-chave expande para `Name: first'.

13 13 Substituição de palavras chave –$Locker$ --> Login de quem trancou o arquivo. –$Log$ --> A mensagem de log informada no commit, precedida de um cabeçalho contendo o caminho do arquivo no repositório, o número da revisão, o autor e a data. Mensagens de log existentes não são substituídas. A nova mensagem de log é inserida no final das anteriores –$Revision$ --> O número da revisão. –$Source$ --> Caminho do arquivo no repositório. –$State$ --> Estado da revisão (cvs admin -s). Ex.: Exp (experimental), Stab (Estável), Rel(Release). Para ver o status, use cvs log

14 14 Conclusões Facilita a colaboração entre desenvolvedores, permitindo que dois ou mais desenvolvedores trabalhem de forma independente sobre o mesmo código fonte Permite identificar e resolver conflitos nos fontes Permite verificar a produtividade de um desenvolvedor Facilita o gerenciamento de releases do código Pode ser usado para qualquer linguagem. Isto inclui VHDL. Para maiores esclarecimentos consulte o site do CVS: –http://www.cvshome.org/


Carregar ppt "Concurrent Versions System Leandro Augusto de Oliveira"

Apresentações semelhantes


Anúncios Google