Universidade Estadual de Campinas – UNICAMP 1 Programa de TIC – Curso CVS – Concurrent Version System
Universidade Estadual de Campinas
CVS - Concurrent Version System
Universidade Estadual de Campinas – UNICAMP 2 Programa de TIC – Curso CVS – Concurrent Version System
Módulo 1 – Introdução ao CVS...3 Visão geral...4 Vantagens ...6 Arquitetura do CVS ...7 O repositório ...8 Revisões ...11 Tags ...12
Branching and merging ...13
Módulo 2 – Administração do CVS ...15
Obtendo e Instalando o CVS ...16
Criando um repositório ...17
Configurando o servidor...18
Criando grupo e usuário ...22
Arquivo de senhas...23
Acesso somente-leitura (read-only) ...24
Exercicio 1...25
Módulo 3 – Comandos básicos...26
O comando CVS ...27 Login ...28 Import ...29 Checkout...30 Update ...31 Commit ...32 Diff ...33 Release ...34 Add...35 Remove...36 Status ...37 Exercicio 2...38 Módulo 4 – Dicas...39 Interface gráfica ...40 Referências ...41 Coordenação do Programa ...42
Universidade Estadual de Campinas – UNICAMP 3 Programa de TIC – Curso CVS – Concurrent Version System
Módulo 1 – Introdução ao CVS
Programa de TIC - Unicamp CVS – Concurrent Version System
Módulo 1
Universidade Estadual de Campinas – UNICAMP 4 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
Visão geral
CVS - Cuncurrent Version Systeméum sistema de controle de versões de código fonte de programas.
Este sistema mantém um histórico das alterações feitas nos programas
•Podemos recuperar versões mais antigas do código para descobrir erros introduzidos durante o desenvolvimento
•Podemos manter uma lista de comentários associados às versões do código para não perdermos contexto das mudanças
•Às vezes queremos saber exatamente o que foi mudado de uma versão a outra do programa
•Ajuda a evitar conflitos em código desenvolvido no acesso simultâneo entre uma equipe de desenvolvedores
Visão geral
CVS - Cuncurrent Version System é um sistema de controle de versões de código fonte de programas.
Este sistema mantém um histórico das alterações feitas nos programas
Podemos recuperar versões mais antigas do código para descobrir erros introduzidos durante o desenvolvimento
• Podemos manter uma lista de comentários associados às versões do código para não perdermos contexto das mudanças
• Às vezes queremos saber exatamente o que foi mudado de uma versão a outra do programa
• Ajuda a evitar conflitos em código desenvolvido no acesso simultâneo entre uma equipe de desenvolvedores
Universidade Estadual de Campinas – UNICAMP 5 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Visão geral
CVS não faz:
• Substituição de um gerenciamento de projeto • Substituição da comunicação entre os desenvolvedores • Controle sobre as mudanças
• Construção de sistemas
CVS não faz:
• Substituição de um gerenciamento de projeto
(O líder de projeto deve conversar freqüentemente com os desenvolvedores certificando que todos estão cientes do planejamento).
• Substituição da comunicação entre os desenvolvedores
(Os desenvolvedores precisam se comunicar sobre as alterações nos códigos para evitar conflitos que possam atrasar o desenvolvimento do projeto).
• Controle sobre as mudanças.
(O correto é gerar um banco de dados de bugs relatados e o estado em que cada um se encontra).
• Construção de sistemas.
(A estrutura do diretório e arquivo é feita pelo desenvolvedor, o CVS só armazenamento).
Universidade Estadual de Campinas – UNICAMP 6 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
Vantagens
Vantagens de se utilizar o CVS:
• Armazenar as diferenças entre versões em um único arquivo • Auxiliar grupos de desenvolvedores no mesmo projeto • Restaurar facilmente as versões antigas
• Ajudar a manter a história do desenvolvimento
Vantagens
O CVS armazena apenas as diferenças entre versões em um único arquivo, de uma forma inteligente.
Outra vantagem do CVS é auxiliar grupos de desenvolvedores trabalhando em um mesmo projeto, sendo que cada um trabalhe no seu próprio diretório e o sistema CVS se encarregue de unir todos quando o trabalho estiver pronto.
O CVS ajuda a manter a história do desenvolvimento, através de uma LOG de mudanças, seus autores, datas e diferenças entre as versões.
Universidade Estadual de Campinas – UNICAMP 7 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Arquitetura do CVS
Arquitetura do CVS
O desenho mostra que os desenvolvedores podem trabalhar simultaneamente com o repositório, trazendo uma cópia do módulo para o diretório de trabalho, fazer as alterações devidas e mandar atualizar o repositório. O repositório por sua vez faz um gerenciamento através de seus arquivos de controle.
Universidade Estadual de Campinas – UNICAMP 8 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
O repositório
O repositório armazena cópias completas de todos os arquivos e diretórios que estão sob seu controle.
Os arquivos no repositório não são acessados diretamente:
• Comandos do CVS são utilizados para acessar o repositório e gerar cópias em um diretório de trabalho
• Usar os comandos do CVS para enviar as mudanças do diretório de trabalho para o repositório
O repositório pode estar na máquina local ou em uma máquina remota.
O repositório
O repositório armazena cópias completas de todos os arquivos e diretórios que estão sob seu controle.
Os arquivos no repositório não são acessados diretamente:
Comandos do CVS são utilizados para acessar o repositório e gerar cópias em um diretório de trabalho
Usar os comandos do CVS para enviar as mudanças do diretório de trabalho para o repositório
Universidade Estadual de Campinas – UNICAMP 9 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
O repositório
O repositório é dividido em duas partes:
• CVSROOT – contém arquivos administrativos dos CVS • Outros Diretórios – contém módulos definidos pelos desenvolvedores /usr local repcvs CVSROOT tc CVS outro-programa Diretório contendo arquivos administrativos Arquivos do código fonte do módulo curso
O repositório é dividido em duas partes:
CVSROOT – contém arquivos administrativos dos CVS.
Universidade Estadual de Campinas – UNICAMP 10 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
O repositório
Cada arquivo sob controle do CVS tem um “history files” (nomes terminados com “,v”)
São arquivos chamados de “RCS files” Por exemplo: $CVSROOT tc Makefile,v driver.c,v parser.c,v Variável de ambiente CVSROOT=/usr/local/repcvs
Cada arquivo sob controle do CVS tem um “history file”, são nomes terminados com “,v”. São arquivos chamados de “RCS files”.
Universidade Estadual de Campinas – UNICAMP 11 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Revisões
Cada revisão de um arquivo tem um número de revisão único. Um número de revisão tem a forma “1.1”, “1.2”, ”1.3.2.2” ou “1.3.2.2.4.5” .
Por padrão a primeira revisão é sempre “1.1”.
Um número de revisão sempre tem um par de números decimais separados por ponto.
Por exemplo:
1.1 1.2 1.3 1.4 1.5
Revisões
Cada revisão de um arquivo tem um número de revisão único.
Esse número de revisão tem a seguinte forma “1.1”, “1.2”, “1.3.2” ou “1.3.2.2.4.5”.
Os números de revisão estão sempre tem um par de números decimais separados por ponto e por padrão a primeira revisão é sempre “1.1”.
Universidade Estadual de Campinas – UNICAMP 12 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
Tags
Tag é um nome simbólico para apelidar um conjunto de projetos ou um release do software.
Por exemplo:
• Um tag deve sempre começar com uma letra • Pode conter dígitos “-” ou “_”
1.9 rel-1_9
Tag Release do software
Tags
Tag é um nome simbólico para apelidar um conjunto de projetos ou um release de software.
Para se criar um nome de tag deve ser criado uma conversão, evitando possíveis conflitos na programação.
Nomes de tag devem começar com uma letra maiúscula ou minúscula, podendo conter letras e dígitos especial como “-“ ou “_”
Universidade Estadual de Campinas – UNICAMP 13 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Branching and merging
Branch é quando o CVS isola as alterações em uma linha separada de desenvolvimento.
Merging é quando o CVS move as alterações feitas de um branch para o tronco principal. Por exemplo: 1.1 1.2 1.3 1.4 1.5 1.3.1.1 1.3.1.2 1.3.2.2 Tronco principal Branch Merging
Branching and merging
O CVS permite isolar as alterações e linhas separadas de desenvolvimento. Quando ocorre essa mudança em um ramo (branch) não é visualizado no tronco principal ou em outras ramificações (branches).
Também podemos mover mudanças de um ramo (branch) para outro ou para o tronco principal através do agrupamento (merging).
Universidade Estadual de Campinas – UNICAMP 14 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
Branching and merging
Exemplo programa java “desenvolvimento”
A figura ilustra o funcionamento de um esquema de versionamento de um determinado arquivo chamado “arquivo.java”.A cada efetivação (commit) uma nova revisão é gerada. Podemos abrir uma determinada correção numa certa revisão (branch) enquanto o desenvolvimento desta classe continua.
Na revisão “1.3” apelidamos através da tag “BUILD_0_0” uma revisão para testes.
Supondo que a versão que vai para a produção seja a “1.9”, apelidamos através da tag “ACAD_1_0” que esta é a versão de produção.
Universidade Estadual de Campinas – UNICAMP 15 Programa de TIC – Curso CVS – Concurrent Version System
Módulo 2 – Administração do CVS
Programa de TIC - Unicamp CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Módulo 2
Universidade Estadual de Campinas – UNICAMP 16 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
Obtendo e instalando
O código fonte do CVS pode ser encontrado em: http://ximbiot.com/
Recomenda-se baixar a última versão estável (stable) dos fontes. Procedimento de compilação e instalação do CVS:
# tar -xzvf cvs-1.11.21.tar.gz # cd cvs-1.11.21 # ./configure # make # make install Obtendo e Instalando o CVS
O mesmo pacote CVS contém o código do servidor e cliente, portanto, não há um procedimento diferente de instalação para cada um destes componentes. É recomendado que se instale a última versão estável (stable).
O código fonte do CVS pode ser encontrado emhttp://ximbiot.com/cvs/cvshome/ Será utilizada a versão cvs-1.11.21
Procedimento de compilação e instalação do CVS: # tar xvfz cvs-1.11.21.tar.gz
# cd cvs-1.11.21 # ./configure # make # make install
O CVS também pode ser instalado via pacote com o comando: # apt-get install cvs
Por padrão, o arquivo executável do CVS fica no diretório “/usr/local/bin/cvs”. Para verificar se a instalação ocorreu com sucesso utilize o comando:
Universidade Estadual de Campinas – UNICAMP 17 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Criando um repositório
Para criar um repositório, executar o comando cvs init. Por exemplo:
$ cvs –d /usr/local/repcvs init
O comando cria um repositório vazio, com arquivos administrativos para o CVS dentro do subdiretório “CVSROOT”.
O comando nunca sobre-escreve um repositório já existente.
diretório caminho
Criando um repositório
Para criar um repositório, devemos rodar o comando “cvs init”. Por exemplo:
$ cvs –d /usr/local/repcvs init
Esse comando cria um repositório vazio, gerando um subdiretório CVSROOT com arquivos de controle utilizados pelo CVS.
O comando nunca sobre-escreve qualquer arquivo existente no repositório, evitando que danifique um repositório já ajustado.
Universidade Estadual de Campinas – UNICAMP 18 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
Configurando o servidor
Criando a variável de ambiente $CVSROOT.
Para usuários que utilizam shells csh e tcsh incluir a seguinte linha no arquivo “.cshrc” ou “.tcshrc”
setenv CVSROOT /usr/local/repcvs
Já os usuários do shell sh e bash incluir as seguintes linhas no arquivo “.profile” ou “.bashrc”
CVSROOT=/usr/local/repcvs export CVSROOT
Configurando o servidor
Criando a variável de ambiente $CVSROOT.
Para usuários que utilizam shells csh e tcsh incluir a seguinte linha no arquivo “.cshrc” ou “.tcshrc”.
setenv CVSROOT /usr/local/repcvs
Já os usuários do shell sh e bash incluir as seguintes linhas no arquivo “.profile” ou “.bashrc”.
CVSROOT=/usr/local/repcvs export CVSROOT
Universidade Estadual de Campinas – UNICAMP 19 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Configurando o servidor
Adicionando o grupo “cvs” no sistema operacional, com o comando:
# groupadd cvs
Alterando o grupo e a permissão do repositório, com o comando:
# cd /usr/local/repcvs # chgrp –R cvs .
# chmod ug+rwx . CVSROOT
É recomendado definir um grupo para acessar o CVS, para controlar permissões de acesso ao repositório.
Adicione o grupo “cvs” no sistema operacional, com o comando: # groupadd cvs
Alterando o grupo e a permissão do repositório, com o comando: # cd /usr/local/repcvs
# chgrp –R cvs .
Universidade Estadual de Campinas – UNICAMP 20 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
Configurando o servidor
Configurando o servidor para autenticação de senha. Acrescentar o serviço pserver:
• Por padrão é utilizado a porta 2401 Por exemplo:
• No arquivo “/etc/services”
cvspserver 2401/tcp
• No arquivo “/etc/initd.conf”
cvspserver stream tcp nowait root /usr/local/bin/cvs cvs -f --allow-root=/usr/local/repcvs pserver
Configurando o servidor para autenticação de senha deve acrescentar o serviço pserver no inetd ou xinitd, depende do sistema operacional.
Acrescentar a seguinte linha no arquivo “/etc/inetd.conf”: cvspserver stream tcp nowait root /usr/local/bin/cvs
cvs -f --allow-root=/usr/local/repcvs pserver
A opção “—alow-root” especifica o diretório CVSROOT. Se um cliente se conectar em um diretório diferente será impedido.
Se o xinetd exigir um nome de serviço simbólico, acrescentar a seguinte linha no arquivo “/etc/services”:
Universidade Estadual de Campinas – UNICAMP 21 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Configurando o servidor • No arquivo “/etc/xinetd.d/cvspserver service cvspserver { port = 2401 socket_type = stream protocol = tcp wait = no user = root passenv = PATH server = /usr/local/bin/cvs
server args = -f --allow-root=/usr/local/repcvs pserver }
Reiniciar o serviço através do comando:
# /etc/init.d/xinetd reload
Dentro do diretório “/etc/xinetd.d” criar um arquivo para o serviço com o nome “cvspserver”, contendo os seguintes valores:
service cvspserver { port = 2401 socket_type = stream protocol = tcp wait = no user = root passenv = PATH server = /usr/local/bin/cvs
server_args = -f --allow-root=/usr/local/repcvs pserver }
Nota: Se “cvspserver” estiver definido no “/etc/services”, a linha “port =” poderá ser omitida.
Reiniciar o serviço através do comando: # /etc/init.d/xinetd reload
Universidade Estadual de Campinas – UNICAMP 22 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
Criando grupo e usuário
Definir um grupo e um usuário dedicado para acesso ao repositório CVS.
Por exemplo:
# groupadd curso
# useradd –c “Usuário para acesso ao CVS” –d /home/joao –g curso –G cvs,curso –s /bin/false joao
# passwd joao
Criando grupo e usuário
Recomenda-se definir um grupo e um usuário dedicado para acesso ao repositório CVS. Este grupo deve ser criado no servidor que hospedará o repositório de dados.
Por exemplo: # groupadd curso
# useradd –c “Usr. para o CVS” –d /home/joao –g curso –G cvs,curso –s /bin/false joao # passwd joao
Universidade Estadual de Campinas – UNICAMP 23 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Arquivo de senhas
O arquivo de senhas para acessar o CVS deve ser criado dentro do subdiretório “CVSROOT”.
Por exemplo:
• No arquivo “/usr/local/repcvs/CVSROOT/passwd”
<cvsuser>:<crypt-passwd>:<sysuser>
usuário no sistema operacional senha criptografada
usuário para utilizar o login
Arquivo de senhas
Criar as contas e senhas no repositório do novo projeto dentro do arquivo “$CVSROOT/CVSROOT/passwd”, cujas linhas são formadas por:
<cvsuser>:<crypt-passwd>:<sysuser>
cvsuser é nome do usuário que fará o login no repositório
crypt-passwd é a senha criptografada do próprio sistemas operacional sysuser é o nome do usuário no sistema operacional
Para o acesso anônimo crie a seguinte linha: Anonymous::cvsanon
Universidade Estadual de Campinas – UNICAMP 24 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
Acesso somente-leitura (read-only)
Para forçar acesso read-only para alguns usuários, deve ser criado dentro do subdiretório “CVSROOT”.
Por exemplo:
• No arquivo “/usr/local/repcvs/CVSROOT/readers” • O formato do arquivo é um nome de usuário por linha. • Geralmente, o usuário “anonymous” é colocado nesse arquivo.
Acesso somente-leitura (read-only)
É possível dar permissões de somente-leitura ao repositório utilizando o servidor de autenticação de senhas.
Um usuário com permissão de leitura pode apenas executar comandos do CVS que não modifique os arquivos do repositório, exceto arquivos como histórico, por exemplo.
Existem duas maneiras de especificar esse acesso, por inclusão e exclusão. Inclusão:
O método de inclusão significa criar os nomes dos usuários que terão acesso de leitura no arquivo “$CVSROOT/CVSROOT/readers”, separado somente por uma nova linha no final de cada nome. Geralmente, o usuário “anonymous” é colocado nesse arquivo.
Exclusão:
O método de exclusão significa listar todos os usuários que tem acesso de escrita e todos que tem acesso de leitura no arquivo o “$CVSROOT/CVSROOT/writers”, utilizando a mesma formatação do arquivo readers.
Nota: Se um mesmo nome de usuário estiver listado nos dois arquivos haverá um conflito fazendo com que o CVS utilize a opção mais segura ao repositório que é de dar acesso somente-leitura ao usuário.
Universidade Estadual de Campinas – UNICAMP 25 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Exercício
Objetivo:
• Instalar o CVS em seu computador
• Criar grupo e usuário dedicado para o acesso ao repositório • Criar o repositório
• Configurar o servidor
Exercicio 1
Objetivo:
Instalar o CVS em seu computador
Criar grupo e usuário dedicado para o acesso ao repositório
Criar o repositório
Universidade Estadual de Campinas – UNICAMP 26 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Módulo 3
Universidade Estadual de Campinas – UNICAMP 27 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
O comando CVS
O formato geral do comando CVS é:
cvs [cvs-opções] subcomando [sub-opções] [args] • “cvs-opções” são opções gerais do comando • “sub-opções” são opções do subcomando Por exemplo:
$ cvs –q commit –m “mensgem”
Opção do cvs Opção do commit
O comando CVS
O formato geral do comando CVS é:
cvs [cvs-opções] subcomando [sub-opções] [args]
“cvs-opções” são opções gerais do comando
“sub-opções” são opções do subcomando
“subcomando” pode ser: checkout, commit, update... Por exemplo:
$ cvs –q commit –m “mensgem”
Universidade Estadual de Campinas – UNICAMP 28 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
Login
Logando no servidor usando o cliente com autenticação de senhas. Por exemplo:
$ cvs – d :pserver:[email protected]:/usr/local/repcvs login CVS password: *********
• “pserver” é o protocolo
• “joao” é o usuário criado no arquivo passwd • “lab.ccuec.unicamp.br” é o host do repositório • “/usr/local/repcvs” é o caminho do repositório
Login
Logando no servidor usando o cliente com autenticação de senhas. Por exemplo:
$ cvs – d :pserver:[email protected]:/usr/local/repcvs login CVS password: *********
“pserver” é o protocolo
“joao” é o usuário criado no arquivo passwd
“lab.ccuec.unicamp.br” é o host do repositório
Universidade Estadual de Campinas – UNICAMP 29 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Import
Importando os arquivos fontes para o repositório com o comando “cvs import”.
Por exemplo:
$ cd /sistemas/projeto
$ cvs import –m “Estrutura de diretório criada” projeto joao start
• “projeto” é o nome do módulo • “joao” é o vendor (autor)
• “-m” é a mensagem de log do comando • “start” é a tag release
Import
Importando os arquivos fontes para o repositório com o comando “cvs import”. Por exemplo:
$ cd /sistemas/projeto
$ cvs import –m “Estrutura de diretório criada” projeto joao start
“projeto” é o nome do módulo
“joao” é o vendor (autor)
“-m” é a mensagem de log do comando
Universidade Estadual de Campinas – UNICAMP 30 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
Checkout
Extraindo os fontes do repositório para um diretório de trabalho com o comando “cvs checkout”.
Por exemplo:
$ cd /work
$ cvs checkout projeto
• “projeto” é o nome do módulo
Checkout
Extraindo os fontes do repositório para um diretório de trabalho com o comando “cvs checkout”.
Por exemplo: $ cd /work
$ cvs checkout projeto
Universidade Estadual de Campinas – UNICAMP 31 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Update
Atualizando os arquivos no diretório de trabalho com o conteúdo mais recente do repositório, utilizando o comando “cvs update”.
Por exemplo:
$ cvs update projeto
• “projeto” é o nome do módulo.
Update
Atualizando os arquivos no diretório de trabalho com o conteúdo mais recente do repositório, utilizando o comando “cvs update”.
Por exemplo:
$ cvs update projeto
Universidade Estadual de Campinas – UNICAMP 32 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
Commit
Enviando os arquivos modificados no diretório de trabalho para o repositório com o comando “cvs commit”.
Por exemplo:
$ cvs commit –m “Alterado a conexão do banco” admin.php
• “admin.php” é o arquivo alterado • “-m” é a mensagem de log do comando
Commit
Enviando os arquivos modificados no diretório de trabalho para o repositório com o comando “cvs commit”.
Por exemplo:
$ cvs commit –m “Alterado a conexão do banco” admin.php Checking in admin.php;
/usr/local/repcvs/projeto/admin.php,v <-- admin.php new revision: 1.2; previous revision: 1.1
done
“admin.php” é o arquivo alterado “-m” é a mensagem de log do comando
Universidade Estadual de Campinas – UNICAMP 33 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Diff
Verificando as diferenças com o comando “cvs diff”. Por exemplo:
$ cvs diff admin.php
Diff
Verificando as diferenças entre a versão do repositório e o que está no diretório de trabalho, com o comando “cvs diff”.
Por exemplo: $ cvs diff admin.php
depois de verificar as diferenças execute um commit do arquivo alterado para gerar um histórico no repositório
Universidade Estadual de Campinas – UNICAMP 34 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
Release
Limpando o diretório de trabalho com o comando “cvs release”. Por exemplo:
$ cvs release –d projetos
• “-d” remove os arquivos do diretório de trabalho
Release
Limpando o diretório de trabalho com o comando “cvs release”. Por exemplo:
$ cvs release –d projetos
You have [1] altered files in this repository
Are you sure you want to release (and delete) directory ‘projetos’: y
“-d” remove os arquivos do diretório de trabalho
Antes de executar esse comando verifique se todas as modificações foram enviadas para o repositório
Universidade Estadual de Campinas – UNICAMP 35 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Add
Adicionando arquivos ao módulo no repositório com o comando “cvs add”.
Por exemplo:
$ cvs add locale.php
• opção “-m” pode ser utilizada para descrever o novo arquivo Depois execute o comando
$ cvs commit locale.php
Add
Adicionando arquivos ao módulo no repositório com o comando “cvs add”. Por exemplo:
$ cvs add locale.php
opção “-m” pode ser utilizada para descrever o novo arquivo Depois execute o comando
Universidade Estadual de Campinas – UNICAMP 36 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
Remove
Removendo arquivos do módulo do repositório com o comando “cvs remove”.
Por exemplo:
$ cvs remove locale.php
• opção “-m” pode ser utilizada para descrever a remoção Depois execute o comando
$ cvs commit locale.php
Remove
Removendo arquivos do módulo do repositório com o comando “cvs remove”. Por exemplo:
$ cvs remove locale.php
opção “-m” pode ser utilizada para descrever a remoção Depois execute o comando
Universidade Estadual de Campinas – UNICAMP 37 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Status
Mostrando o estado que se encontra os arquivos com o comando “cvs status”.
Por exemplo:
$ cvs status adimin.php
Status
Mostrando o estado que se encontra os arquivos com o comando “cvs status”. Por exemplo:
$ cvs status admin.php
================================================ File: admin.php Status: Up-to-date
Working revision: 1.2 Tue Mar 23 18:30:00 2006
Repository revision: 1.2 /usr/local/repcvs/projeto/admin.php,v Sticky Tag: (none)
Sticky Date: (none) Sticky Options: (none)
Universidade Estadual de Campinas – UNICAMP 38 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
Exercício
Objetivo:
• Importar o projeto para o repositório • Trazer os fontes para o diretório de trabalho • Fazer mudanças no arquivo
• Efetivar essas mudanças no repositório • Verificar as diferenças
Exercicio 2
Objetivo:
Importar o projeto para o repositório
Trazer os fontes para o diretório de trabalho
Fazer mudanças no arquivo
Efetivar essas mudanças no repositório
Universidade Estadual de Campinas – UNICAMP 39 Programa de TIC – Curso CVS – Concurrent Version System
Módulo 4 – Dicas
Programa de TIC - Unicamp CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Módulo 4
Universidade Estadual de Campinas – UNICAMP 40 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp
Interface gráfica
Interface gráfica para o CVS Para Windows: • WinCVS (http://www.wincvs.org/) • TortoiseCVS (http://www.tortoisecvs.org/) Para Linux: • gCVS (http://www.gcvs.org/) • LinCVS (http://lincvs.org/) Interface gráfica
Utilizar uma ferramenta gráfica para acessar o repositório CVS, de forma simples e fácil de usar.
Para interface Windows: • WinCVS site: (http://www.wincvs.org/) • TortoiseCVS site: (http://www.tortoisecvs.org/) Para Linux: • gCVS site: (http://www.gcvs.org/) • LinCVS site: (http://lincvs.org/)
Universidade Estadual de Campinas – UNICAMP 41 Programa de TIC – Curso CVS – Concurrent Version System
Programa de TIC - Unicamp CVS – Concurrent Version System
Referências • http://ximbiot.com/cvs/cvshome • http://www.loria.fr/~molli/cvs-index.html • http://en.wikipedia.org/wiki/Concurrent_Versions_System • http://www.ccuec.unicamp.br/ead Referências Portal CVS Home • http://ximbiot.com/cvs/cvshome The CVS Bubbles • http://www.loria.fr/~molli/cvs-index.html
Concurrent Versions System - From Wikipedia, the free encyclopedia • http://en.wikipedia.org/wiki/Concurrent_Versions_System
Portal do EAD/CCUEC
Universidade Estadual de Campinas – UNICAMP 42 Programa de TIC – Curso CVS – Concurrent Version System
Patrocinadores