Controle de Versão com CVS



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

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

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

Tutorial SVN Básico Engenharia de Software. Denise Notini Nogueira

ROTEIRO DE INSTALAÇÃO

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

"Manual de Acesso ao Moodle - Discente" 2014

MANUAL DO ANIMAIL Terti Software

Lazarus pelo SVN Linux/Windows

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

Sistema de Controle de Versão - CVS

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item "Sites da web".

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

CAPÍTULO 35 Como utilizar os componentes ColdFusion

ÍNDICE. 1. Introdução O que é o Sistema Mo Porã Como acessar o Site Mo Porã Cadastro do Sistema Mo Porã...

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

Download. Instalaça o. Geral

Controle de Versão. Prof. Msc. Bruno Urbano Rodrigues.

Atualizaça o do Maker

INSTALAÇÃO DO CHEF FOODS NET

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

Procedimentos para Reinstalação do Sisloc

Como renomear/mudar de local arquivos sem perder referencias na montagem. Renomear Arquivos

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

Passo 1: Abra seu navegador e digite Passo 2: Na tela que surgir, clique em Get Started.

ZS Rest. Manual Profissional. Instalação do Software. v2011

PAINEL GERENCIADOR DE S

Manual de Atualização Versão

Tutoriais de apoio para a migração do Atualização: 30/04/2014

Redes de Computadores. Trabalho de Laboratório Nº8

Manual Captura S_Line

Utilizando o correio eletrônico da UFJF com Thunderbird e IMAP

Universidade Estadual de Campinas. CVS - Concurrent Version System

Print Audit 6 - Instalação do SQL Server 2008 express R2

Software : Sistema Gerenciador DataClarus Dificuldade : ( ) Fácil (X) Médio ( ) Avançado - Página 1 de 5 Instalando duas empresas no mesmo servidor

Habilitando o Botão de Compartilhamento do Facebook no Ambiente Colaborativo Jan-2014

Guia de Consulta Rápida. Portal do Professor

Manual de Instalação Hunes

Manual Programa SOSView 4.0

MANUAL DE CONFIGURAÇÃO DO BACKUP

Backups Via FTP (File Transfer Protocol)

Omega Tecnologia Manual Omega Hosting

Quais são as novidades?

GUIA RÁPIDO PARA PETICIONAMENTO ON-LINE

Restauração do Exchange Server.

SAD Gestor Gerenciador de Backup

LIBERAÇÃO DA PASTA ARQUIVOS DE PROGRAMA

SISTEMA DE E-LEARNING. efaculdade MANUAL DO ALUNO

Módulo SAC Atendimento ao Cliente

Manual Integra S_Line

Manual das funcionalidades Webmail AASP

s editores de s Como configurar contas de nos principais Como configurar contas de s nos principais editores de s

Iniciação à Informática

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

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

Configuração do cliente de Thunderbird para usuários DAC

Gravação da quantidade de expostos por grupo homogêneo

Cartilha. Correio eletrônico

SECUNDÁRIA DE CAMARATE Plataforma Office 365. Alojamento de ficheiros - OneDrive para Empresas

Manual da Nota Fiscal Eletrônica (ACBr)

Configuração do cliente de Windows Live Mail para usuários DAC

Portal do Senac: Área Exclusiva para Alunos Manual de Navegação e Operação

Manual Instalação Pedido Eletrônico

PRINCIPAIS QUESTÕES DO PROCESSO DO WS SINAL E SINAL 6.0

SPARK - Comunicador Instantâneo MANUAL DO USUÁRIO

Manual da Central de Atendimento ao Cliente Sami Sistemas

COMO INSTALAR O CATÁLOGO

USANDO O ROUNDCUBE WEBMAIL

Versionamento Ágil com Git

Instalação do SisAlu 1. Apostila de Instalação do SisAlu

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

IMPORTANTE: O sistema Off-line Dr.Micro é compatível com os navegadores Mozilla Firefox e Internet Explorer.

Procedimentos para Instalação do Sisloc

Manual (Office 365) Para acesso ao sistema de s, os passos iniciais continuam os mesmos.

Habilitando o Botão de Compartilhamento do Facebook no Ambiente Colaborativo

Sumário INTRODUÇÃO Acesso ao Ambiente do Aluno Ferramentas e Configurações Ver Perfil Modificar Perfil...

GUIA INTEGRA SERVICES E STATUS MONITOR

Portaria Express 3.0

Manual do Usúario Backup Online. Manual do Usuário. Backup Online. Versão Copyright GVT

Manual de Administração

GUIA PRÁTICO DE INSTALAÇÃO

Menus Personalizados

Utilização de Branches de Erro e Melhoria Sistema de Gestão da Qualidade

Informática Básica. Microsoft Word XP, 2003 e 2007

Cadastramento e compra de vale transporte para o Cartão Metrocard Metropolitano Integrado. Em substituição ao Vale Transporte Temporário de Papel

Comunidade Virtual de Disseminação e Aprendizagem-(ComViD@)

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

BACKUP ONLINE PASSOS PARA CONFIGURAÇÃO INICIAL DO PRODUTO

Manual de utilização do sistema de envio de sms marketing e corporativo da AGENCIA GLOBO. V

PROCEDIMENTO DE ATUALIZAÇÃO PARA VERSÕES 2015 POS / REST / DISCO

MANUAL DO ALUNO PARA NAVEGAR NO AMBIENTE VIRTUAL DE APRENDIZAGEM - AVA

MANUAL DO ALUNO PARA NAVEGAR NO AMBIENTE VIRTUAL DE APRENDIZAGEM - AVA

Sistema de Registro das Atividades do RT - Tutorial de utilização

Manual do Sistema "Fala Comigo - Sistema de Atendimento On-Line" Editorial Brazil Informatica

Índice Apresentação... 3 Mensagens... 4 Tickets... 6 Cadastro de Tickets... 6 Acompanhamento de Tickets:...9 Entregas Storage...

Como funciona? SUMÁRIO

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Lab - Utilizando a ferramenta de Restauração do sistema no Windows 7

Atualizaça o do Playlist Digital

Transcrição:

Controle de Versão com CVS Danilo Toshiaki Sato www.dtsato.com Treinamento ALESP SPL

Agenda 1. Introdução 2. Conceitos Importantes 3. Operações mais comuns - Eclipse 4. Processo de Liberação SPL 5. Conclusão 6. Workshop Copyleft 2006 Danilo Sato 2

Introdução CVS = Concurrent Versions System Principais funções: 1. Guardar histórico de mudanças: Habilidade de voltar à versão do dia anterior 2. Colaboração: CVS não faz lock de arquivos Permite que mais de um desenvolvedor trabalhe no mesmo arquivo Copyleft 2006 Danilo Sato 3

Introdução Colaboração simultânea é possível através do modelo copiar-alterarjuntar: Copiar: Os desenvolvedores pedem uma cópia local para o servidor Alterar: O desenvolvedor A altera sua cópia local e envia para o servidor Juntar (merge): O desenvolvedor B envia sua alteração para o servidor e é informado sobre o conflito Copyleft 2006 Danilo Sato 4

Conceitos Importantes Revisão (revision): Um número que representa uma "foto" do arquivo no servidor Cada commit de arquivo, altera seu número de revisão Exemplos de número de revisão: 1.3, 1.3.2.2 Um número de revisão sempre tem um número par de inteiros separados por '.' Revisão inicial padrão de cada arquivo é 1.1 Números de revisão com mais de um '.' representam branches Copyleft 2006 Danilo Sato 5

Conceitos Importantes Repositório: A cópia mestre onde o servidor do CVS mantêm todo o histórico de revisões Cada projeto tem exatamente um repositório Cópia Local (working copy): A cópia onde você faz suas alterações nos arquivos do projeto Podem exitir diversas cópias locais para o mesmo arquivo do projeto Geralmente cada desenvolvedor tem sua cópia local Copyleft 2006 Danilo Sato 6

Conceitos Importantes Check out: O ato de pedir uma cópia local para o repositório Sua cópia local irá refletir o estado do arquivo no momento do check out Commit: O ato de enviar suas alterações na cópia local para o repositório Também conhecido como check in Para que outros desenvolvedores enxerguem suas alterações, você deve publicá-las através de um commit Copyleft 2006 Danilo Sato 7

Conceitos Importantes Mensagem de Log: Um comentário que descreve cada alteração Anexado à revisão no momento do commit Importante para comunicar o que foi alterado para outros desenvolvedores Atualização (update): O ato de trazer alterações feitas no repositório para sua cópia local Operação complementar ao commit Cópia Local commit update Repositório Copyleft 2006 Danilo Sato 8

Conceitos Importantes Conflito: Tag: A situação quando dois desenvolvedores tentam "commitar" mudanças feitas numa mesma região do arquivo O CVS avisa sobre o conflito, mas o desenvolvedor deve resolvê-lo Os números de revisão de cada arquivo são independentes Uma tag é um nome simbólico para uma determinada revisão de um ou mais arquivos Copyleft 2006 Danilo Sato 9

Conceitos Importantes arquivo1 arquivo2 arquivo3 arquivo4 arquivo5 1.1 1.1 1.1 1.1 1.1 1.2 1.2 1.2 1.2 1.3 1.3 1.3 1.3 1.4 1.4 1.4 1.5 1.6 arquivo1 arquivo2 arquivo3 arquivo4 arquivo5 1.1 1.2 1.1 1.3 1.1 1.2 1.4 1.1 1.2*-----1.3*-----1.5*-----1.2*-----1.1* <-- Tag (Ex: "Bug_21") 1.3 1.6 1.3 1.4 1.4 Copyleft 2006 Danilo Sato 10

Conceitos Importantes Branch: É um recurso que permite isolar mudanças numa linha de desenvolvimento paralela Mudanças feitas num branch não são imediatamente refletidas da linha principal (HEAD) ou em outros branches +-----+ +-----+ +-----+ +-----+ +-----+! 1.1!----! 1.2!----! 1.3!----! 1.4!----! 1.5! <- HEAD +-----+ +-----+ +-----+ +-----+ +-----+!!! +---------+ +---------+ +---------+ Branch 1.2.2 -> +---! 1.2.2.1!----! 1.2.2.2!----! 1.2.2.3! +---------+ +---------+ +---------+ Copyleft 2006 Danilo Sato 11

Operações mais Comuns Eclipse: Tag = Versão Versão Revisão Perspectiva do Repositório CVS: Gerenciamento dos repositórios e projetos Gerenciamento de Branches e Versões (Tags) Histórico de Revisões Árvore de Versões (Tags) Copyleft 2006 Danilo Sato 12

Operações mais Comuns Configuração de Labels: Permite a identificação da tag/branch associada à cópia local Abra "Windows > Preferences", navegue até "General > Appearance > Label Decorations" e escolha a opção "CVS" Copyleft 2006 Danilo Sato 13

Operações mais Comuns Copyleft 2006 Danilo Sato 14

Operações mais Comuns Sincronizar a cópia local: Operação para verificar as diferenças entre a cópia local e o repositório Permite: Atualizar (update) a cópia local com alterações feitas no repositório ( ) Commit de arquivos alterados ( ) Merge para resolver conflitos ( ) Basta clicar com o botão direito no recurso desejado (projeto, arquivo ou pasta) e escolher "Team > Sincronyze with Repository" Copyleft 2006 Danilo Sato 15

Operações mais Comuns Atualização (update): "Team > Update" Commit: "Team > Commit..." Entrar com a mensagem de log do commit Resolução de conflitos (merge): Na visão de sincronização, resolver o conflito na cópia local Clicar com o botão direito no arquivo e escolher "Mark as merged" Copyleft 2006 Danilo Sato 16

Operações mais Comuns Criar uma tag: Tag = Versão Clicar com o botão direito no recurso desejado "Team > Tag as Version..." Preencher o nome da tag e clicar em "OK" É possível mover uma tag existente para a revisão atual É possível criar uma tag diretamente no repositório, através da perspectiva CVS Copyleft 2006 Danilo Sato 17

Operações mais Comuns Substituir a cópia local com uma versão (tag)/branch diferente: Clicar com o botão direito no recurso desejado "Replace With > Another Branch or Version..." Escolha a tag/branch desejada e clique em "OK" O label com o nome da tag/branch deve aparecer ao lado do nome do projeto Ao fazer o check out de uma tag, você não pode alterar seus arquivos e fazer commit: Tags estão associadas à números de revisão existentes Copyleft 2006 Danilo Sato 18

Operações mais Comuns Criar um branch: Atualize sua cópia local com o branch que servirá de base (HEAD) para o novo branch Clique com o botão direito no recurso desejado "Team > Branch..." Entre com o nome do branch Deixe o checkbox "Start working in the branch" marcado caso queira atualizar sua cópia local com os arquivos do novo branch O campo "Version Name" é automaticamente populado, representando o nome de uma tag que marca o início do branch (útil na hora do merge) Copyleft 2006 Danilo Sato 19

Operações mais Comuns Merge entre branches: Ocorre em duas direções: Do branch para o sub-branch (rebase) Do sub-branch para o branch Recomenda-se fazer um rebase antes de fazer o merge para o branch principal Do ponto de vista da operação no CVS, só muda o alvo do merge Copyleft 2006 Danilo Sato 20

Operações mais Comuns Merge entre branches: Atualize sua cópia local com o branch que servirá como alvo do merge: Rebase: alvo = sub-branch Merge: alvo = HEAD Clique com o botão direito no recurso desejado "Team > Merge..." Escolha o branch desejado (end tag) e o ponto inicial comum (geralmente o root tag do branch) A visão de sincronização será exibida Faça o merge na sua cópia local Faça o commit da cópia local já atualizada Copyleft 2006 Danilo Sato 21

Processo de Liberação - SPL Separação hierárquica em 4 ambientes: 1. Computador Local (BD: Desenvolvimento) 2. Ambiente de Integração (BD: Desenvolvimento) 3. Ambiente de Homologação (BD: Homologação) 4. Ambiente de Produção (BD: Produção) Código não pode pular nenhum ambiente Integração entre 1 e 2 será feita pelo CVS e pelo Cruise Control Entregas entre 2 e 3 (releases) correspondem a um branch no CVS (Ex: "Release1") Copyleft 2006 Danilo Sato 22

Processo de Liberação - SPL Homologação Produção não acarreta mudança no código nem no CVS Novas funcionalidades são desenvolvidas sempre no HEAD Releases passam a ser numeradas: Versão_1", Versão_2", Versão_2_1" Erros em homologação/produção: São corrigidos no branch e devem passar pelo ambiente de integração Na re-entrega para homologação, uma nova tag deve ser criada no branch do release Após a re-entrega, deve ser feito um merge do branch para o HEAD para que as atualizações sejam refletidas na próxima entrega Copyleft 2006 Danilo Sato 23

Processo de Liberação - SPL Copyleft 2006 Danilo Sato 24

Processo de Liberação - SPL Vantagens: Processo controlado de entregas Possibilidade de voltar para qualquer versão entregue no passado Separação entre código instável (desenvolvimento de novas funcionalidades) e código entregue Solução de bugs não impacta o desenvolvimento de novas funcionalidades Copyleft 2006 Danilo Sato 25

Conclusão Visão geral dos principais conceitos e operações do CVS Realização das operações no ambiente Eclipse Proposta para um novo processo de liberação no SPL Surgimento de um novo papel: "Release Manager" Copyleft 2006 Danilo Sato 26

Referências Branching with Eclipse and CVS: http://www.eclipse.org/articles/article- CVS-branching/eclipse_branch.html Branches, merging and tags: http://plone.org/documentation/tutorial/cvs /branches-and-tags CVS official site (for those braves enough who don t want to use Eclipse CVS client): http://www.nongnu.org/cvs CVS Wikied Manual: http://ximbiot.com/cvs/wiki/index.php?title =CVS-- Concurrent_Versions_System_v1.12.12.1 Copyleft 2006 Danilo Sato 27

Dúvidas ou Sugestões? Copyleft 2006 Danilo Sato 28