exatasfepi.com.br Controle de Versão André Luís Duarte

Documentos relacionados
Manual de utilização ANBIMA Drive Serviço de armazenamento e sincronização de arquivos

TUTORIAL GIT Victor Breder Comp-19 Março de 2017

MANUAL DE PUBLICAÇÃO NO PORTAL CAMPUS MATÃO

Objetivo. Introdução; História; Conceito; SVN; Instalação; Prática através de exercícios.

Engenharia de Software. Prof. Raquel Silveira

Na seqüência, será aberta uma página de login de acesso ao ambiente de gerenciamento do portal, conforme ilustrado na figura 01, abaixo: Figura 01

TUTORIAL PARA SUBMISSÕES NO REPOSITÓRIO INSTITUCIONAL (RI) DA UNIVERSIDADE FEDERAL DA BAHIA (UFBA)

TUTORIAL FGV WIKI Professor

Conhecendo e editando o seu perfil

LISTAR MEMORANDOS RECEBIDOS

GIT. Prof. Rafael Sandim

PROGRAMA ESPECIAL DE FORMAÇÃO PEDAGÓGICA DE PROFESSORES PARA EDUCAÇÃO PROFISSIONAL MANUAL DO AMBIENTE VIRTUAL DE APRENDIZAGEM (AVA) TUTOR

Ao ser aberto, o Expression Blend 3 + SketchFlow disponibiliza três opções:

Sistema de Gestão de Recursos Humanos

Manual Para Cadastro de Temas Livres. Entrada no Sistema. dd dd

Novidades da Plataforma de suporte remoto 3.0

COMO CRIAR PEDIDOS A PARTIR DA CESTA DE PRODUTOS

Aplicativo de proteção de senha para as unidades de memória flash USB da Verbatim

Manual para atualização do portal do CNPq - versão 1.0 Parcerias

[OneDrive for Business]

Tutorial SQL Server 2014 Express

Mini Curso Gerenciamento de Configuração e Mudança com GIT + Eclipse. Jadson Santos Amador Pahim

Projeto de Pesquisa SIGAA

Instalação e utilização do Software Pináculo SMS

SUBIR LISTAS DE S

Módulo de Correios Offline & Online para Magento 2

Manual Webmail GUIA GERAL UNIVERSIDADE TECNOLÓGIA FEDERAL DO PARANÁ DIRETORIA DE GESTÃO DE TECNOLOGIA DA INFORMAÇÃO - DIRGTI 2015

Sumário 1. Perfil Fórum Tarefa Wiki Glossário Mensagem Privada Notas...

Clicando nesse botão aparecerá um menu no qual deve ser selecionada a porta serial em que o Rasther está ligada. Depois clique em OK.

OFERTA DE DISCIPLINAS POR CURSO...

Como criar usuários do Painel

Tutorial: Webmail. Dicas de Uso e Funcionalidades 10/2014. Versão 01

UNIVERSIDADE FEDERAL DE PERNAMBUCO Av. Prof. Moraes Rego, 1235, Cidade Universitária, Recife PE, CEP: Fone: (81)

MANUAL INSTALAÇÃO E OPERAÇÃO SOFTWARE GUARDIÃO. Sistemas de Alarme de Incêndio Wireless DF0023-G2-23/DF0023-G3-23 SISTEMAS DE SEGURANÇA

WINDOWS. Professor: Leandro Crescencio Colégio Politécnico 1

Este manual contém as principais funcionalidades e explicações a respeito do funcionamento do portal de vendas PULVITEC.

Manual de Utilização

INTRODUÇÃO À INTEGRAÇÃO CONTÍNUA. Jadson Santos Software Engineer Informatic Superintendence (SINFO) - UFRN

Tutorial para Usuários. Preenchimento de um template pelo Usuário e fluxo de aprovação

COMPARTILHAMENTO DE PASTAS DE

MANUAL DO WEBMAIL DA FUNDAÇÃO UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL

Fixo (41) Vivo (41) Tim (41) Claro (41) OI (41) Sistema Descomplicado CNPJ

MANUAL DO SISTEMA SIGFAP MÓDULO CORREIO. Realização:

Manual do Usuário Vivo Sync. Manual do Usuário PORTAL WEB. Versão Copyright Vivo

Manual do Usuário SinFAT Web

Ao selecionar o seu curso, aparecerá a página principal contendo as informações e as atividades disponíveis.

Visão geral do ambiente. Essa é a sua página inicial. No bloco lateral, você encontra um menu de navegação.

Manual de uso Monuv USUÁRIO DO TIPO CLIENTE

Serviço Público Federal Universidade Federal do Pará - UFPA Centro de Tecnologia da Informação e Comunicação - CTIC S I E

Sistema de webconferência Mconf. Sessão 2

CBEB Instruções para Submissão de Artigos

ATUALIZAÇÃO FIRMWARE ROTEADOR PIRELLI - P.DG E4001N

A importância do Backup

Os arquivos podem conter qualquer tipo de informação: Texto Sons (Músicas) Imagens (Fotos, etc.) Vídeos E podem ser Programas de Computador

2 Enviando arquivos para o Portal.


Você acessa seu DISCO Virtual do mesmo modo como faz para seu HD, através de:

SISTEMAS OPERACIONAIS

SISTEMA AUTOMÁTICO DE BILHETAGEM ELETRÔNICA PROCEDIMENTOS VTWEB CLIENT PROCEDIMENTOS

Processo: Compras. Acesso. Motivação. Parâmetros. Nome do Processo: Cotação de compras. Pendências Versão 2009 Release 2 Autor Francisca

Adsim - Manual Sistema Pi Fácil. ADSIM - Sistemas Integrados de Mídia, Copyright Página 1 de 21

[Skype for Business] - [Skype for Business] Versão Online

Passo a passo joomla

Esta primeira parte do manual do Moodle está destinada para orientações em como acessar o curso, atualizar o perfil e realizar as atividades.

Bem-vindo ao Dropbox!

Informática para Concursos

Manual do Usuário Assinador Prodist e-financeira

GUIA PRÁTICO PARA O USUÁRIO

Sumário Objetivos Estudo de caso

-Entre no menu Cadastros / Terceiros/Optantes -Insira os dados do Empregado ou Fornecedor / clique em Gravar

DocuWare Forms Product Info. Gerenciamento eficiente de formulários. Benefícios/Vantagens

A instalação será feita através do link Setup Magni 2, situado no CD do Rasther.

Questionário de revisão para AV1 de Informática Aplicada Valor 1,0 ponto - Deverá ser entregue no dia da prova.

1 - O módulo Administração

Instalação do TextPad

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

Manual SIGOSMS Aplicação de Gerenciamento e Envio SMS

Manual de Operação do MGV 5. Manual de Operação do MGV5. Módulo Gerenciador de Vendas. Toledo

ACESSANDO O EADFASA. Passo a passo para acadêmicos. Núcleo de Educação a Distância - NEAD

TUTORIAL COMO SUBMETER RESUMO PARA A 5ª SEMPESq

Manual de Migração do Banco de Dados Paradox para Firebird

Sistemas Operacionais II. Prof. Gleison Batista de Sousa Aula 01

Manual do Usuário V Universidade Federal do Pampa Núcleo de Tecnologia da Informação e comunicação NTIC 26/01/2015

1. Respondendo a cotação.

INFORMÁTICA. Indique a opção que contenha todas as afirmações verdadeiras. a) I e II b) II e III c) III e IV d) I e III e) II e IV

Título: Como configurar o Agente de Backup em Nuvem?

MANUAL DO INSTALADOR DE CURSOS PORTÁTIL v.1.0

MANUAL DE INSTALAÇÃO SISTEMA DE GERÊNCIA CONSCIUS

Manual do Usuário. Preenchimento de um template pelo Usuário e fluxo de aprovação. Versão 3 19/05/2017

Sumário Objetivos Estudo de caso 1 Criação de template Exercício 1 Detalhamento da peça Exemplo... 23

1. ACESSO AO SISTEMA. Sistema Malote Digital Instruções de Utilização

Tutorial de instalação e configuração do Software Giga VMS

SGCD 2.0 Sistema Gerenciador de Conteúdo Dinâmico

Plano de Gerenciamento de Configuração

TUTORIAL COMO SUBMETER ARTIGO DO CONGENTI

Tutorial rápido CMAP TOOLS

Manual Telemetria - Horímetro

Soluções em tecnologia da informação que viabilizam implementar uma arquitetura computacional escalável, sólida e confiável em nuvem distribuída.

Como acessar as imagens via Navegador Google Chrome

Transcrição:

exatasfepi.com.br Controle de Versão André Luís Duarte

Bibliografia Version Control with Subversion: For Subversion 1.7: (Compiled from r4875) by Ben Collins- Sussman, Brian W. Fitzpatrick, and C. Michael Pilato Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato TortoiseSVN A Subversion client for Windows Version 1.4.5 2

Controle de Versão Motivação Conceitos VisualSVN Tortoise 3

Controle de Versão Motivação Conceitos VisualSVN Tortoise 4

Motivação Controle de versão é a arte de administrar as mudanças em documentos É uma ferramenta crítica para desenvolvedores Investem horas modificando seus projetos e então desfazem ou revisam algumas dessas modificações no dia seguinte 5

Motivação Imagine uma equipe de vários desenvolvedores mudando constantemente os documentos 6

Motivação Porque controlar versão? Gestão da Qualidade Qualidade é um conceito abstrato e pode ser definido de forma diferente para cada processo e pessoa envolvidos Depende das características que se deseja avaliar 7

Motivação Qualidade de Software Está diretamente á qualidade do processo de desenvolvimento Atualmente aborda conceitos tais como: Verificação e validação Revisões e autorias Gerência de qualidade de software Revisão: habilidade para ser alterado Adaptabilidade a novos ambientes 8

Motivação Antigamente: Changelog: arquivo texto que continham informações sobre o que foi alterado em um projeto Histórico de alterações: comentários que eram inseridos no início de um arquivo de interface ou no início dos métodos no código fonte (p.e.:.h e.cpp) 9

Motivação 10

Motivação Assumindo essas soluções: Era difícil comparar diferentes versões de arquivos Era trabalhoso procurar autorias de códigos Cada desenvolvedor tinha que manter cópias do projeto para conseguir retornar a um ponto anterior Era quase impossível garantir que todos seguiam uma única forma de criação 11

Motivação Com a adoção de um sistema de gerenciamento de versão (versionamento) podemos literalmente navegar no tempo 12

Motivação Alterações que degradem a qualidade do projeto podem simplesmente ser abandonadas 13

Motivação Podemos ver um estado específico do projeto e recuperá-lo imediatamente 14

Motivação Versionamento é um requisito indispensável na garantia de que documentos são mantidos de forma profissional, garantindo a manutenção e rastreabilidade de alterações e versões 15

Motivação 16

Controle de Versão Motivação Conceitos Subversion Tortoise 17

Conceitos Repositório Central de armazenamento de arquivos versionados com seu histórico completo Pode estar centralizado em um servidor abastecendo seus clientes Pode estar distribuído sendo necessária a sincronização eventual 18

Conceitos Subversion é mais do que um repositório de arquivos pois: Lembra de cada alteração ocorrida: Nos arquivos Na árvore de diretórios 19

Conceitos Pode responder perguntas como: O que o diretório continha na última quarta feira? Quem foi a última pessoa que alterou o arquivo? Quais alterações foram realizadas? 20

Conceitos Problema do compartilhamento de arquivos: Como evitar que usuários sobrescrevam as alterações feitas por outros no mesmo arquivo? Como evitar que os usuários tropecem uns nos outros? 21

Conceitos Cenário: Harry e Sally são colegas de trabalho e decidiram editar ao mesmo tempo o mesmo documento no repositório. 22

Conceitos 23

Conceitos Alocar-Modificar-Desalocar Solução simples que consiste em permitir somente que uma pessoa por vez altere um arquivo Qualquer acesso posterior somente para realizar leitura Depois de liberado outra pessoa poderá realizar operações de escrita no arquivo 24

Conceitos 25

Conceitos Pode causar problemas administrativos caso Harry saia de férias e esqueça de desalocar o arquivo 26

Conceitos Pode causar serialização desnecessária se Harry e Sally fossem alterar áreas diferentes do mesmo arquivo 27

Conceitos Pode causar uma falsa sensação de segurança Suponha que Harry edite o arquivo A e Sally um arquivo B. B dependem de A para gerar um resultado correto, esta dependência pode ter sido quebrada A B Resultado Gera x Gera y Resultado correto 28

Conceitos Este tipo de solução funciona melhor quando os arquivos não puderem ser unificados, por exemplo, alterações em arquivos de imagem 29

Conceitos Copiar-Modificar-Unificar Cada usuário lê o repositório e cria uma cópia de trabalho pessoal que será alterada Ao final, cada cópia local é unificada com uma nova versão no repositório, uma versão mais atual Se ocorrerem problemas durante a unificação, os usuários decidem como ficará a versão final 30

Conceitos 31

Conceitos 32

Conceitos No caso apresentado, suponha que Harry e Sally tenham alterado o mesmo arquivo na mesma área, Harry será informado que existem conflitos que devem ser solucionados Em parceria ambos decidem qual a melhor versão deverá ser enviada ao repositório 33

Conceitos Por fim o Subversion permite que trabalhemos tanto com a política alocarmodificar-desalocar quanto a política de copiar-modificar-unificar 34

Conceitos Cópia de trabalho É uma estrutura de diretórios contendo um conjunto de arquivos Existe também um diretório.svn chamado de diretório administrativo da cópia de trabalho Através deste diretório o Subversion reconhece as alterações realizadas e quais foram os arquivos modificados 35

Conceitos Para iniciar o trabalho cada usuário deve obter uma subestrutura do repositório Após realizar as alterações o usuário deve submeter as alterações para o repositório Se cópia de trabalho estiver desatualizada, o subversion pede para atualizar a cópia antes de submeter alterações 36

Conceitos URL do repositório Um repositório do Subversion é representado por uma URL Um browser pode ser usado para obter informações e visualizar os repositórios 37

Conceitos Revisão Uma operação commit publica as alterações feitas na cópia de trabalho como uma transação atômica Cada commit aceito atualiza a árvore de arquivos e gera um novo estado chamado revisão A revisão vale para o diretório e não somente para os arquivos alterados 38

Conceitos Funcionamento básico das revisões Subversion guarda duas informações na área administrativa Em qual revisão o arquivo local está baseado Data e hora da última atualização da cópia local a partir do repositório 39

Conceitos Com base nestas duas informações o Subversion pode identificar os estados: Não modificado e corrente Localmente alterado e corrente Não modificado e desatualizado Localmente modificado e desatualizado 40

Conceitos Atualizações e submissões são ações separadas Você enviar alterações não significa que está pronto para receber alterações 41

Controle de Versão Motivação Conceitos VisualSVN Tortoise 42

VisualSVN Manutenção dos repositórios Manutenção dos usuários Manutenção dos grupos 43

VisualSVN Nome para o repositório 44

VisualSVN Define um repositório vazio (sem estrutura) Define um repositório com estrutura simples TBT 45

VisualSVN Define o esquema de permissões 46

VisualSVN URL de acesso ao repositório 47

VisualSVN 48

VisualSVN Criar uma pasta para receber os arquivos do projeto em trunk 49

VisualSVN Criar dois usuários 50

VisualSVN branches: são usados para controlar alterações sem que o tronco seja comprometido tags: são usadas para rotular instantes chave na linha do tempo trunk: são usados para manter a linha de projeto principal 51

VisualSVN Ciclo básico de trabalho Obter/atualizar sua cópia de trabalho Realizar alterações Editar Adicionar Renomear Remover Verificar alterações Resolver conflitos Submeter suas alterações 52

VisualSVN Existem várias metodologias de uso do Subversion e suas estruturas, cada empresa deve analisar e adequar a ferramenta as suas necessidades 53

Controle de Versão Motivação Conceitos VisualSVN Tortoise 54

Tortoise TortoiseSVN é um cliente do Subversion SVN para Windows Código aberto GNU GPL Venceu o Community Choice Award de 2007 Melhor ferramenta para desenvolvedores 55

Tortoise Vantagens Integrado ao Windows Shell Independente do ambiente de desenvolvimento Pode ser integrado ao ambiente através de plug-in 56

Tortoise 57

Tortoise Vantagens Permite ver o estado de diretórios/arquivos baseado em ícones Possui GUI bastante amigável para visualizações e comparações Permite enviar comando ao Subversion através de menus 58

Tortoise 59

Tortoise Criando a pasta de projeto Nome da pasta: Projeto1 Licença.doc Logo.bmp Principal.cpp 60

Tortoise Importando um projeto Popular um repositório Devemos ter: Local com os arquivos a serem versionados URL do repositório Obs.: Importar não significa que automaticamente temos uma cópia de trabalho 61

Tortoise Obtendo uma cópia de trabalho URL do repositório Pasta para receber o conteúdo do repositório 62

Tortoise CASO 1: Editando os arquivos do projeto Usuário André adiciona o seu nome como autor do documento após a primeira linha TERMOS DE LICENÇA... Usuário André Insere o comentário Programa principal no início do código cpp Usuário Maria edita a imagem e adiciona o número 2 no arquivo 63

Tortoise Submetendo as alterações André submete primeiro suas alterações Maria submete depois as suas alterações 64

Tortoise CASO 2: Editando arquivos de projeto Maria insere no final do documento de licença uma linha para assinatura do gerente do projeto Submeter alterações Maria submete suas alterações 65

Tortoise commit falhou! Licença.rtf está desatualizado Atualizar a sua cópia 66

Tortoise Porque o Subversion não avisou Maria que havia uma alteração no documento? Dependendo do tamanho da alteração, isso pode alocar muito recurso Maria pode nunca mais trabalhar neste projeto ou arquivo Maria pode voltar a trabalhar neste projeto um mês depois quando existem outras alterções 67

Tortoise Boa prática de trabalho Sempre que for iniciar alguma alteração, faça uma atualização da sua cópia de trabalho local Não deixe acumular muito conteúdo, analise e faça submissões constantes de suas alterações para o repositório 68

Tortoise CASO 3: Atualizando a cópia de trabalho Agora André tem a versão mais atual dos arquivos 69

Tortoise CASO 4: Resolvendo conflitos André precisa somar dois números no programa principal e decidiu então alterar o código float x = 10, y = 5;... cout << x + y; André submete seu trabalho 70

Tortoise CASO 4: Resolvendo conflitos Maria analisou o mesmo problema e decidiu então alterar o código double num1 = 5, num2 = 10, soma = 0;... soma = num1 + num2; cout << soma; Maria submete seu trabalho 71

Tortoise Aviso de cópia desatualizada Aviso de conflito 72

Tortoise O Tortoise marca a pasta e o arquivo indicando conflitos que devem ser resolvidos 73

Tortoise 74

Tortoise Torotise Merge Arquivo deles Arquivo meu Arquivo final 75

Tortoise Clicar com o botão direito na janela dos arquivos deles e meu permite optar por usar o arquivo inteiro Clicar com o botão direito do mouse na janela do arquivo final obriga a selecionar linha a linha qual será considerada para o arquivo final 76

Tortoise Arquivo final possui as alterações escolhidas 77

Tortoise Os conflitos foram resolvidos e as alterações de Maria podem ser submetidas 78

Tortoise Neste momento seria interessante a equipe de desenvolvimento ser informada do conflito e das alterações para que todos possam atualizar a sua cópia de trabalho 79

Tortoise CASO 5: Inserção de novos recursos A equipe vai inserir recursos novos no projeto É necessário que o projeto tronco fique intacto Maria é responsável por comandara as alterações Junto com a equipe resolvem iniciar um ramo para a linha do tempo dessas alterações 80

Tortoise Origem Destino Mensagem Revisão base Opções extras 81

Tortoise Cria um ramo não nos posiciona no ramo, para isso a opção Alternar a cópia de trabalho... deveria ter sido marcada 82

Tortoise Trocar o caminho da cópia de trabalho para o ramo recém criado Minha cópia de trabalho Novo caminho desejado 83

Tortoise Usar o navegador de repositório para verificar se o caminho está correto Alterar o nome da pasta da cópia de trabalho para facilitar a identificação Fazer com a equipe toda obtenha uma nova cópia de trabalho para este ramo 84

Tortoise CASO 6: Adicionado arquivos Maria cria um novo arquivo chamado funcoes.cpp int soma(int n1, n2) double soma(double n1, n2) Maria adiciona o novo arquivo ao controle de versão Maria submete as alterações e toda a equipe atualiza suas cópias de trabalho 85

Tortoise CASO 7: Removendo arquivos do controle de versão Arquivos temporários, backup, objeto (após compilação de código fonte), etc, devem ser retirados do controle de versão 86

Tortoise CASO 8: Deletar/Renomear O processo de deletar e/ou renomear arquivos e pastas devem ser realizado exclusivamente através do Tortoise para evitar problemas na cópia de trabalho 87

Tortoise CASO 9: Reverter alterações André verificou que algo foi feito errado que desestabilizou sua cópia de trabalho e corrigir manualmente seria muito trabalhoso Vai reverter sua cópia de trabalho ou arquivo individual para uma revisão anterior 88

Tortoise Caso 10: Combinar revisões André verificou que o ramo criado foi testado, finalizado e agora será integrado ao tronco Somente tronco reintegra ramo, um ramo não pode se reintegrar ao tronco A reintegração é realizado na cópia de trabalho Depois o tronco deve ser submetido ao repositório 89

Tortoise Caso 11: O projeto pode ser liberado para produção e comercialização ao cliente Maria cria um rótulo para este estado Maria faz um backup do repositório svnadmin hotcopy <origem> <destino> Origem: Repositorio + Projeto Destino: <sua pasta backup> + NomeProjeto 90

Tortoise Relatórios e informações dos repositórios 91