Universidade Estadual de Campinas. CVS - Concurrent Version System



Documentos relacionados
PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ MANUAL DE UTILIZAÇÃO DO CVS NO ECLIPSE

Controle de Versão com CVS

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

Versionamento de Código. Núcleo de Desenvolvimento de Software

Sistema de Controle de Versão - CVS

Sistema Operacional Unidade 13 Servidor Samba. QI ESCOLAS E FACULDADES Curso Técnico em Informática

Administração de Sistemas Livres

J820. Integração Contínua. com CVS, CruiseControl, Cruise Control. argonavis.com.br. AntHill Gump e Helder da Rocha (helder@acm.

Aula 02. Introdução ao Linux

Como atualizar o arquivo de licença do HSC ISS Free

Gestão de Desenvolvimento de Sistemas por Controle de Versão Utilizando SVN. Software para Controle de Versão SVN/Subversion

Manual de Utilização do Tortoise SVN. Fábrica de Software. Algar Tecnologia Unidade BH

Salvando modificações localmente (commit) Enviando modificações para o servidor (push) Sinalizando versão estável (tag)

FTP Protocolo de Transferência de Arquivos

Manual de Instalação do Agente Citsmart

Manual Captura S_Line

Controle de Versão com GIT

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

Lazarus pelo SVN Linux/Windows

FTP - Protocolo. O protocolo FTP é o serviço padrão da Internet para a transferência de arquivos entre computadores.

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos

COORDENAÇÃO DE TECNOLOGIA (COTEC) JUNHO/2010

Instalação do VOL Backup para Sistemas Unix-Like

MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO. Motor Periférico Versão 8.0

Guia rápido de uso da interface beta do NFS-e Easy para operação com Sistemas WebISS

Configuração de um servidor FTP. Campus Cachoeiro Curso Técnico em Informática

Procedimentos para Reinstalação do Sisloc

Sistema Operacional Unidade 12 Comandos de Rede e Acesso Remoto

Guia de instalação para ambiente de Desenvolvimento LINUX

CSAU Guia: Manual do CSAU 10.0 como implementar e utilizar.

Acesso Re sso R moto

Instalação de Servidor de Impressão com quotas Pykota. Rogério Vinhal Nunes 25 de janeiro de 2007

Configure seu Linux pela Web! Instalação à partir de um.tar.gz. Autor: Carlos Eduardo Ribeiro de Melo <eduardo at unisulma.edu.br> Data: 05/10/2004

O primeiro passo é habilitar acesso externo através de web service a configuração é bem simples e não exige maiores explicações.

Kerio Exchange Migration Tool

Agente local Aranda GNU/Linux. [Manual Instalación] Todos los derechos reservados Aranda Software [1]

Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles:

2.0.0.X. Storage Client. TecnoSpeed. Tecnologia da Informação. Manual do Storage Client

#20 Migração Servidor Curupira de Sarge para Etch

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

Compartilhando arquivos com o samba

Manual de Instalação. Sistema de Gestão e Acompanhamento de Frotas SIGAFROTA. Versão 1.0 Francisco Edilson do Nascimento

Como é o Funcionamento do LTSP

Procedimentos para Instalação do SISLOC

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

Documentação Symom. Agente de Monitoração na Plataforma Windows

Obs: É necessário utilizar um computador com sistema operacional Windows 7.

Introdução ao Sistema. Características

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

Após salvar, execute o comando testparm e ele deverá exibir a mensagem Server role: ROLE_DOMAIN_PDC".

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas

- Wireless e NTP - 272

Linux System Administration 455

Procedimentos para Instalação do Sisloc

Controle de Versão de Software. Luiz Jácome Júnior

Memeo Instant Backup Guia de Referência Rápida

ENDEREÇOS DE REDE PRIVADOS até até até Kernel

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal

Data: 22 de junho de

Saída do sistema do Servidor FTP do Capture Pro Software

Controle de versão e fluxo de trabalho em projetos de desenvolvimento de software

5 Remova os diretórios e subdiretórios listados acima e também os listados abaixo:

Gerência de Configuração. Professor: Dr. Eduardo Santana de Almeida Universidade Federal da Bahia

Roteiro de Instalação da NF-e no Sistema CalcExpress S U M À R I O

SISTEMA CACIC IMPLANTAÇÃO AMBIENTE CENTRALIZADO RESUMO. Novembro de 2007 Dataprev URES

Manual de Instalação (TEF LOJA)

Manual de Instalação ( Client / Server ) Versão 1.0

Roteiro 3: Sistemas Linux arquivos e diretórios

Manual de Instalação de SQL Server (2005, 2008, 2012).

Rotina de Discovery e Inventário

Manual de Administração

NetEye Guia de Instalação

Manual de backup do banco de dados PostgreSQL - Versão 2. Setembro-2011

Guia de administração para a integração do Portrait Dialogue 6.0. Versão 7.0A

Para testar se as variáveis foram carregadas, utilize o comando #export

Padrões de configuração GIT

Guia de Instalação e Configuração do Noosfero

DIRETÓRIOS. Diretórios ZIM. Estabelecer um diretório de aplicativo. Campos do objeto Diretórios. Diretórios estrangeiros. Zim 8.

"Manual de Acesso ao Moodle - Discente" 2014

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8

Tópicos Especiais em Informática

Laboratório - Exploração do FTP

A barra de menu a direita possibilita efetuar login/logout do sistema e também voltar para a página principal.

Manual Administrador - Mídia System

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04. Prof. André Lucio

Curso Básico Sistema EMBI

Sistemas Operacionais Aula 01

Introdução ao Tableau Server 7.0

Guia do Administrador de Licenças de Usuários Autorizados do IBM SPSS Modeler

Passo a passo para instalação de um Servidor SSH

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux

Padrão ix. Manual de Instalação do Q-Ware Server Versão

Configurando um Servidor de Arquivos SAMBA. Prof. Armando Martins de Souza

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

Instalação do IBM SPSS Modeler Server Adapter

Manual do usuário. Softcall Java. versão 1.0.5

Transcrição:

Universidade Estadual de Campinas CVS - Concurrent Version System Eduardo Robinson Paganeli Universidade Estadual de Campinas UNICAMP 1

Sumário 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 2

Módulo 1 Introdução ao CVS CVS Concurrent Version System Módulo 1 Introdução ao CVS Universidade Estadual de Campinas UNICAMP 3

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 4

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 5

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 6

ArquiteturadoCVS 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 7

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 O repositório pode estar na máquina local ou em uma máquina remota. Universidade Estadual de Campinas UNICAMP 8

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 Diretório contendo arquivos administrativos tc CVS Arquivos do código outro-programa fonte do módulo curso O repositório é dividido em duas partes: CVSROOT contém arquivos administrativos dos CVS. Outros Diretórios contém módulos definidos pelos desenvolvedores. Universidade Estadual de Campinas UNICAMP 9

O repositório Cada arquivo sob controle do CVS tem um history files (nomes terminados com,v ) São arquivos chamados de RCS files Variável de ambiente $CVSROOT CVSROOT=/usr/local/repcvs tc Makefile,v driver.c,v parser.c,v 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 10

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. 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 11

Tags Tag é um nome simbólico para apelidar um conjunto de projetos ou um release do software. rel-1_9 1.9 Tag Release do software Um tag deve sempre começar com uma letra Pode conter dígitos - ou _ 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 12

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. Merging 1.1 1.2 1.3 1.4 1.5 Tronco principal 1.3.1.1 1.3.1.2 1.3.2.2 Branch 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 13

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 14

Módulo 2 Administração do CVS CVS Concurrent Version System Módulo 2 AdministraçãodoCVS Universidade Estadual de Campinas UNICAMP 15

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 em http://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 #makeinstall 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: # cvs version Universidade Estadual de Campinas UNICAMP 16

Criando um repositório Para criar um repositório, executar o comando cvs init. $ cvs d /usr/local/repcvs init diretório caminho 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. Criando um repositório Para criar um repositório, devemos rodar o comando cvs init. $ cvs d /usr/local/repcvs init diretório caminho 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 17

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 18

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. # chmod ug+rwx. CVSROOT Universidade Estadual de Campinas UNICAMP 19

Configurando o servidor Configurando o servidor para autenticação de senha. Acrescentar o serviço pserver: Por padrão é utilizado a porta 2401 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 : cvspserver 2401/tcp Universidade Estadual de Campinas UNICAMP 20

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 21

Criando grupo e usuário Definir um grupo e um usuário dedicado para acesso ao repositório CVS. # 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. # groupadd curso # useradd c Usr. para o CVS d /home/joao g curso G cvs,curso s /bin/false joao #passwdjoao Universidade Estadual de Campinas UNICAMP 22

Arquivo de senhas O arquivo de senhas para acessar o CVS deve ser criado dentro do subdiretório CVSROOT. 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 23

Acesso somente-leitura (read-only) Para forçar acesso read-only para alguns usuários, deve ser criado dentro do subdiretório CVSROOT. 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 24

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 Configurar o servidor Universidade Estadual de Campinas UNICAMP 25

Módulo 3 Comandos básicos CVS Concurrent Version System Módulo 3 Comandos básicos Universidade Estadual de Campinas UNICAMP 26

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 $ cvs q commit m mensgem Opçãodocvs Opçãodocommit 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... $ cvs q commit m mensgem Opção do cvs Opção do commit Universidade Estadual de Campinas UNICAMP 27

Login Logando no servidor usando o cliente com autenticação de senhas. $ cvs d :pserver:joao@lab.ccuec.unicamp.br:/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. $ cvs d :pserver:joao@lab.ccuec.unicamp.br:/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 Universidade Estadual de Campinas UNICAMP 28

Import Importando os arquivos fontes para o repositório com o comando cvs import. $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. $ 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 Universidade Estadual de Campinas UNICAMP 29

Checkout Extraindo os fontes do repositório para um diretório de trabalho com o comando cvs checkout. $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. $cd/work $ cvs checkout projeto projeto é o nome do módulo Universidade Estadual de Campinas UNICAMP 30

Update Atualizando os arquivos no diretório de trabalho com o conteúdo mais recente do repositório, utilizando o comando cvs update. $ 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. $ cvs update projeto projeto é o nome do módulo Universidade Estadual de Campinas UNICAMP 31

Commit Enviando os arquivos modificados no diretório de trabalho para o repositório com o comando cvs commit. $ cvs commit m Alterado a conexão do banco admin.php admin.php é o arquivo alterado -m éamensagemdelogdocomando Commit Enviando os arquivos modificados no diretório de trabalho para o repositório com o comando cvs commit. $ 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 32

Diff Verificando as diferenças com o comando cvs diff. $ 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. $ 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 33

Release Limpando o diretório de trabalho com o comando cvs release. $ 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. $cvsrelease dprojetos 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 34

Add Adicionando arquivos ao módulo no repositório com o comando cvs add. $ 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. $ cvs add locale.php opção -m pode ser utilizada para descrever o novo arquivo Depois execute o comando $ cvs commit locale.php Universidade Estadual de Campinas UNICAMP 35

Remove Removendo arquivos do módulo do repositório com o comando cvs remove. $ 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. $ cvs remove locale.php opção -m pode ser utilizada para descrever a remoção Depois execute o comando $ cvs commit locale.php Universidade Estadual de Campinas UNICAMP 36

Status Mostrando o estado que se encontra os arquivos com o comando cvs status. $ cvs status adimin.php Status Mostrando o estado que se encontra os arquivos com o comando cvs status. $ 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 37

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 Verificar as diferenças Universidade Estadual de Campinas UNICAMP 38

Módulo 4 Dicas CVS Concurrent Version System Módulo 4 Dicas Universidade Estadual de Campinas UNICAMP 39

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: Para Linux: WinCVS site: (http://www.wincvs.org/) TortoiseCVS site: (http://www.tortoisecvs.org/) gcvs site: (http://www.gcvs.org/) LinCVS site: (http://lincvs.org/) Universidade Estadual de Campinas UNICAMP 40

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 http://www.ccuec.unicamp.br/ead Universidade Estadual de Campinas UNICAMP 41

Coordenação do Programa Patrocinadores Parceiros Universidade Estadual de Campinas UNICAMP 42