1 / 22

Contextualização

Linguagem Técnica II SCM Software Configuration Management Aula 03 Prof. Renato Novais renatoln@yahoo.com.br. Contextualização. Equipe composta por mais de uma pessoa Sincronização de código conflitante Várias versões Backup Código pertence a todos

nova
Download Presentation

Contextualização

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Linguagem Técnica IISCM Software Configuration ManagementAula 03 Prof.Renato Novaisrenatoln@yahoo.com.br

  2. Contextualização Equipe composta por mais de uma pessoa Sincronização de código conflitante Várias versões Backup Código pertence a todos Bugs inseridos depois de uma pequena modificação 2 Renato Novais (IFBA)

  3. Concurrent Versions System O CVS é sistema de controle de versão; Gerência de Configuração de código; Permite que pessoas dispersas trabalhem no mesmo código. “CVS is not a substitute for management... for developer communication.” 3 Renato Novais (IFBA)

  4. Funcionamento CVS utiliza uma arquitetura cliente-servidor: um servidor armazena a(s) versão(ões) atuais do projeto e seu histórico; clientes se conectam a esse servidor para obter uma cópia completa do projeto, trabalhar nessa cópia e então devolver suas modificações. Tipicamente, cliente e servidor devem estar conectados por uma rede local de computadores; Vários clientes podem editar cópias do mesmo projeto de maneira concorrente. Quando eles confirmam suas alterações, o servidor tenta fazer uma fusão delas; 4 Renato Novais (IFBA)

  5. Se a fusão não for possível, por exemplo porque mais de um cliente tentou executar alterações na mesma linha do documento, o servidor apenas executa a primeira alteração e informa ao responsável pela segunda alteração que houve conflito, e que é necessário uma intervenção humana; Se a validação da alteração for bem sucedida, o número de versão de cada cliente arquivo envolvido é incrementado, e o servidor CVS escreve uma linha de observação (fornecida pelo usuário), a data e o autor das alterações em seus arquivos de log; Funcionamento 5 Renato Novais (IFBA)

  6. Clientes podem comparar diferentes versões de um arquivo, pedir um histórico completo das alterações, ou baixar uma determinada versão do projeto, ou de uma data específica, não necessariamente a versão mais atual; Clientes também podem usar o comando "update" para manter suas cópias locais atualizadas com a última versão do servidor. Isso elimina a necessidade de se fazer diversos downloads de todo o projeto; O CVS também pode manter diferentes "estados" do projeto. Por exemplo, uma versão do software pode ser um desses estados, usado para correção de bugs, enquanto outra versão, que está realmente sob desenvolvimento, sofrendo alterações e tendo novas funcionalidades implementadas, forma o outro estado. Funcionamento 6 Renato Novais (IFBA)

  7. Terminologia Module: é uma hierarquia de diretórios. Geralmente um projeto de software existe como um simples módulo dentro do repositório. Release: é a versão de um produto inteiro. Revision: é a numeração atribuída pelo CVS a cada modificação de um arquivo. O Checkout: é usado para denominar o primeiro download de um módulo inteiro a partir do repositório CVS. Commit: envio das modificações feitas pelo usuário ao repositório CVS. 7 Renato Novais (IFBA)

  8. Terminologia Export: é o download de um módulo inteiro a partir de um repositório CVS, sem os arquivos administrativos CVS. Módulos exportados não ficam sob controle do CVS. Import: é usado para designar a criação de um módulo inteiro dentro de um repositório CVS através do upload de uma estrutura de diretórios. Branch: é uma ramificação no desenvolvimento, usada para descrever o processo de divisão dos arquivos de um projeto em linhas de desenvolvimento independentes. Podendo servir para teste de uma nova funcionalidade ou para projetos destinados a um cliente específico. 8 Renato Novais (IFBA)

  9. Terminologia Update: atualização da cópia local do trabalho através do download das modificações feitas por outros usuários no repositório. Merge: é a fusão de modificações feitas por diferentes usuários na cópia local de um mesmo arquivo. Sempre que alguém altera o código, é necessário realizar um update antes do commit, de modo que seja feito o merge — ou a fusão — das mudanças. 9 Renato Novais (IFBA)

  10. CVS integrado ao eclipse Selecionar perspectiva do CVS 10 Renato Novais (IFBA)

  11. Selecionar perspectiva do CVS CVS integrado ao eclipse 11 Renato Novais (IFBA)

  12. Adicionar um novo Repositório CVS integrado ao eclipse 12 Renato Novais (IFBA)

  13. Adicionar um novo Repositório CVS integrado ao eclipse 13 Renato Novais (IFBA)

  14. Fazer um checkout CVS integrado ao eclipse 14 Renato Novais (IFBA)

  15. Sincronizando... CVS integrado ao eclipse 15 Renato Novais (IFBA)

  16. Commit CVS integrado ao eclipse 16 Renato Novais (IFBA)

  17. Commit CVS integrado ao eclipse 17 Renato Novais (IFBA)

  18. Update CVS integrado ao eclipse 18 Renato Novais (IFBA)

  19. CVS serve para... Otimizar o processo de sincronização do código Colocar tudo que for de poder de todos no cvs: site, código, artefatos.. CVS não é a solução para todos os problemas CVS não substitui o diálogo e reuniões da equipe CVS não é uma política de backup suficiente 19 Renato Novais (IFBA)

  20. SubVersion • Subversion (também conhecido por svn) é um sistema de controle de versão que tem ganhado bastante adeptos nos últimos tempos. Pretende-se ser mais robusto que o CVS. http://subversion.tigris.org • Atualmente utiliza protocolo HTTP, rodando sobre o apache • Cliente Tortoise SVN (stand alone) http://tortoisesvn.tigris.org • Plugins para o Eclipse, Netbeans • Utilizaremos o SubVersion na prática Renato Novais (IFBA)

  21. Perguntas ? Renato Novais (IFBA) Renato Novais (IFBA) 09/09/2014

  22. Referências Está transparência foi preparada baseada no material do Professor Francisco Borges Manual do cvs: http://ximbiot.com/cvs/wiki/index.php?title=CVS--Concurrent_Versions_System_v1.12.12.1 Tutorial CVS: http://www.ead.unicamp.br/minicurso/cvs/texto/tabela_conteudo.html Download CVS: http://linuxforfun.net/2008/04/27/cvsd-setup-cvs-pserver 22 Renato Novais (IFBA)

More Related