MAC 5856 - Software Livre. Professor: Fabio Kon REPOSITÓRIOS ÁLVARO HENRY MAMANI ALIAGA POLIANA MAGALHÃES REIS



Documentos relacionados
Controle de Versão com GIT

SISTEMAS DE CONTROLES DE VERSÃO

Sistema de Controle de Versão - CVS

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

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

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

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

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

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

Agenda. Aprendendo Git/GitHub. Definições. Git. História 31/05/2012. Vantagem de usar controle de versão

2. GERÊNCIA DE CONFIGURAÇÃO DE SOTWARE

Aluno: Leandro Santiago da Silva. Artigo. Sistemas de controle de versão

Ferramentas de planejamento e acompanhamento

Aula 01. Introdução ao Linux

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

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

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

3 Estudo de Ferramentas

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Gerência de Configuração de Software Funções

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

SISTEMA OPERACIONAL & SOFTWARE LIVRE

LINUX. Lapro I Profa. Fernanda Denardin Walker. - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL

Introdução ao Git. Laboratório de Programação. Luísa Lima, Pedro Vasconcelos, DCC/FCUP. Março 2015

PROJETO CEMEA. Um trabalho educacional

Sistema Operativo Linux

Introdução ao Controle de Versões. Leonardo Murta

Git e contribuição para projetos Open Source. Bruno Orlandi

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

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar

Projeto SCCM Implantação do ClearCase e ClearQuest UCM

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

Controle de Versão com CVS

Figura 01 Kernel de um Sistema Operacional

16:21:50. Introdução à Informática com Software Livre

Laboratório de Redes de Computadores e Sistemas Operacionais

Consultoria sobre Joomla!

Melhoria no Desenvolvimento Ágil com Implantação de Processo de Integração Contínua Multiplataforma para Java e.net. Hudson

FANESE Faculdade de Administração e Negócios de Sergipe

Integração Contínua com Rational Team Concert, Jenkins e SonarQube

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

ISO/IEC 12207: Gerência de Configuração

Universidade Federal de Goiás. Alexandre Ferreira de Melo CERCOMP / UFG

Desenvolvendo Websites com PHP

26/09/2015. Windows Linux Mac OS/X IBM OS/2 Sun Solaris Google Android. MS-DOS Outros... O QUE É? SISTEMAS OPERACIONAIS

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG

Sistema Operacional LINUX

Aula 02 Conceitos básicos elipse. INFORMÁTICA INDUSTRIAL II ENG1023 Profª. Letícia Chaves Fonseca

Introdução ao Modelos de Duas Camadas Cliente Servidor

No mercado atual, podemos encontrar vários tipos de sistemas operacionais que fazem parte das seguintes classes:

Administração de Sistemas Livres. Prof. Lais Farias Alves

Oficina de ferramentas de Gerência para Redes em Linux. Prof. Jefferson Santiago

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Desenvolvimento de Software Livre. Aspectos Culturais e Tecnológicos

Sistemas operacionais de rede: Windows e Linux

Monitoramento Open source com Zabbix Giovanni Oliveira Renato Resende

Figura 1 - Arquitetura multi-camadas do SIE

Instalação e Configuração do CollabNet Subversion Edge

Como contribuir com projetos de software livre

Introdução ao Git. Introdução ao GIT. Anderson Moreira. Baseado nos slides disponíveis em http//free electrons.com

Curso de Aprendizado Industrial Desenvolvedor WEB

Plano de Gerência de Configuração

Análise Comparativa entre Sistemas de Controle de Versões Daniel Tannure Menandro de Freitas

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

PROPOSTA DE CRIAÇÃO DE UMA BASE ESTRUTURADA PARA ACOMPANHAMENTO DE PROJETO - ENGINEERING TOOLS

Agenda. Gerência de Configuração de Software. Atividade Sala. Quais os problemas? P1) Duplicidade de Trabalho. P2) Trabalhos Sobrepostos

Noções de. Microsoft SQL Server. Microsoft SQL Server

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

Curso de Linux Básico com o Linux Educacional

SISTEMA GERENCIADOR DE BANCO DE DADOS

Um sistema de controle de versão tem a finalidade de gerenciar diferentes versões de um artefato.

ES06 Especialização em Engenharia de Software Prof.: Misael Santos Ago/2010

Prof. Marcelo Machado Cunha

GERÊNCIA DE CONFIGURAÇÃO. Isac Aguiar isacaguiar.com.br

Introdução a Computação

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Construindo sítios profissionais com Mambo

APLICATIVO PARA ATUALIZAÇÃO EMPRESARIAL

Como é o desenvolvimento de Software?

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

ÀREA DE DESENVOLVIMENTO

Soluções de Gerenciamento de Clientes e de Impressão Universal

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Como contribuir com projetos de software livre

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Roteiro 3: Sistemas Linux arquivos e diretórios

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc.

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

PRÓ-REITORIA DE EXTENSÃO, PESQUISA E INOVAÇÃO DIRETORIA DE INOVAÇÃO E PESQUISA FORMULÁRIO II: Relatório de Atividades de Pesquisa

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Julio Cezar Fialho Freire de Carvalho 1, Aline Maria Malachini Miotto Amaral 2 1 INTRODUÇÃO

Aula 2. Objetivo: Saber qual a funcionalidade de um sistema operacional de rede.

Tiago Rodrigo Marçal Murakami

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Projeto de Arquitetura

SISTEMAS DISTRIBUÍDOS

Resumo. Prof. Alejandro - Introdução à Sistemas Operacionais Resumo Informativo, complemente o material assistindo as Aulas 19/08/2015 1

Transcrição:

MAC 5856 - Software Livre Professor: Fabio Kon REPOSITÓRIOS 1 ÁLVARO HENRY MAMANI ALIAGA POLIANA MAGALHÃES REIS

RESUMO DA APRESENTAÇÃO Definições Vantagens Atividades Comuns Integração com outros Softwares Como funciona? Repositórios Centralizados Repositórios Distribuídos 2

RESUMO DA APRESENTAÇÃO (CONT.) Sistemas de Controle de Versão Centralizados RCS Revision Control System CVS Concurrent Version System SVN Subversion VSS Microsoft Visual SourceSafe Rational ClearCase Distribuidos GIT BAZZAR Mercurial GNU Arch Monotone Darcs 3

DEFINIÇÕES Um repositório pode ser um sistema de arquivos local ou um servidor remoto, e são extensamente usados em Sistemas de Controle de Versão. Um sistema de controle de versão, VCS (Version Control System) ou ainda SCM (Source Code Management) por sua vez, providencia árvore de versão para gerenciar versões diferentes de arquivos. EXEMPLO : Várias ferramentas de controle de versão usam arquitetura de cliente/servidor e os clientes podem pegar qualquer informações sobre qualquer arquivo acessando o repositório. 4 4

PRINCIPAIS VANTAGENS Controle do histórico Trabalho em equipe Marcação e resgate de versões estáveis Ramificação de projeto 5

INTEGRAÇÃO COM OUTROS SOFTWARES Os sistemas de controle de versões mais flexíveis permitem que seja possível integrá-los a outros softwares. A integração mais comum é em ambientes de desenvolvimento através de plugins. Alguns ambientes que suportam a integração de alguns sistemas são: IntelliJ IDEA, Eclipse, NetBeans e Visual Studio. O TortoiseSVN, o TortoiseCVS e o TortoiseHg, clientes do SVN, do CVS e do Mercurial, respectivamente, funcionam sobre o Windows Explorer. 6

COMO FUNCIONA O CONTROLE DE VERSÃO? 7

REPOSITÓRIOS CENTRALIZADOS 8

REPOSITÓRIOS CENTRALIZADOS VANTAGENS Mantém as informações referentes aos arquivos em um repositório único acessível a todos os desenvolvedores de um projeto. Simplicidade Facilidade de controlar o acesso DESVANTAGENS São extremamente dependentes do repositório que contém os dados Necessidade de uma boa estrutura de backup 9

REPOSITÓRIOS DISTRIBUÍDOS Design muito mais complexo Uma conexão permanente com o servidor não é requisito fundamental para o funcionamento do sistema 10

REPOSITÓRIOS CENTRALIZADOS RCS Revision Control System CVS Concurrent Version System SVN Subversion VSS Microsoft Visual SourceSafe Rational ClearCase 12

REPOSITÓRIOS CENTRALIZADOS RCS - REVISION CONTROL SYSTEM RCS foi inicialmente desenvolvido em 1980 por Walter F. Tichy [1985 ] Consiste em um conjunto de comandos UNIX Modelo checkout/checkin [Feiler 1991] Os arquivos são armazenados no repositório na forma de árvore. Armazena somente os arquivos correntes no repositório, que conhece somente as diferenças entre as revisões armazenadas 13

REPOSITÓRIOS RCS DEFEITOS O método de bloqueio (locking) dos arquivos impede o desenvolvimento paralelo. OBS: A programação paralela pode ser simulada com a utilização de branches, seguidos da instrução merge. O sistema não permite que exista uma hierarquia de diretórios dentro de um repositório. ( O RCS gerencia os artefatos apenas dentro de um determinado diretório.) Estas limitações incentivaram o desenvolvimento do chamado CVS (Concurrent Versions System). 13

REPOSITÓRIOS CENTRALIZADOS CVS - CONCURRENT VERSION SYSTEM Primeira versão lançada em 1984 por Dick Grune O código que evoluiu para a versão atual do CVS foi iniciada por Brian Berliner em abril de 1989. Usa o formato para armazenamento de arquivo do RCS Pode ser usado tanto localmente como remotamente Licença GPL Suporte ao rastreamento de mudanças linha-a-linha (annotate), 14

REPOSITÓRIOS CENTRALIZADOS CVS - CONCURRENT VERSION SYSTEM Suporte ao desenvolvimento de um software originalmente desenvolvido por outra pessoa ou empresa. (Import) Criação de módulos dentro de um repositório. Permite total personalização sobre o armazenamento do registro de mudanças Desenvolvimento concorrente Paradigma copy-modifymerge" [Berliner 1990] Conceito de bloqueio fraco Um levantamento bastante completo das funcionalidades do CVS pode ser encontrado em [Fogel 1999] e [Cederqvist 1993]. 16

REPOSITÓRIOS CENTRALIZADOS CVS - ENVIO E RESGATE DE VERSÕES 17

REPOSITÓRIOS CENTRALIZADOS CVS DEFEITOS Os commits não são atômicos, Histórico de versões não muito bom Requer maior administração que o RCS Curva de aprendizagem íngreme para os novatos 17

REPOSITÓRIOS CENTRALIZADOS SVN - SUBVERSION O projeto Subversion começou em 2000, financiado pela empresas CollabNet e Red Hat Em agosto de 2001 o sistema se tornou auto gerenciável (Os desenvolvedores do Subversion pararam de usar o CVS para gerir seu próprio código-fonte, e começaram a usar o próprio Subversion no lugar.) Primeira versão lançada em 2004 Atualmente encontra-se na versão 1.6 Licença CollabNet/Tigris.org Os custos são proporcionais ao tamanho das mudanças e não ao tamanho dos dados Enquanto o CVS usa versionamento por arquivo, o SVN usa versionamento por módulo. 19

REPOSITÓRIOS CENTRALIZADOS SVN - SUBVERSION O Subversion conta com várias características inexistentes no seu irmão mais velho, o CVS, e entre elas podemos citar: Versionamento de diretórios Histórico de versões bom Commits atômicos Escolha das camadas de rede (associa-se ao servidor Apache HTTP pelo protocolo WebDAV/DeltaV) http://svnbook.red-bean.com/en/1.4/svn-book.html Segundo informações encontradas na internet, todo o repositório de códigos-fonte da Conectiva (criadora do Conectiva Linux), é armazenado em um repositório Subversion consistindo em mais de 20 Gb de dados. 20

REPOSITÓRIOS CENTRALIZADOS SVN - ENVIO E RESGATE DE VERSÕES 20

REPOSITÓRIOS CENTRALIZADOS VSS- VISUAL SOURCE SAFE É um sistema de controle de versões e administração de código fonte vendido pela Microsoft junto com o pacote Microsoft Visual Studio. A grande vantagem é a integração com outras ferramentas Microsoft como o Visual Studio.NET. Boa interface com usuário Podemos definir o VSS em 3 funções básicas de um SCV: Centralização os arquivos Gerênciamento de acesso Histórico das modificações 22

REPOSITÓRIOS CENTRALIZADOS VSS - DESVANTAGENS Ruim gerenciamento em redes Dificiculdade de gerenciar módulos externos Lentidão na busca por versões anteriores no seu repositório Não existe versão nativa para Linux ou Unix. OBS : Hoje em dia o VSS está em desuso e sua utilização não é muito indicada, a Microsoft apostou em um novo produto, o Visual Studio 2005 Team System (VSTS). O VSTS não herdeu nada do VSS e foi construído a partir do zero, tendo toda estrutura de gerenciamento refeita. Além disso, trabalha sobre o banco de dados SQL Server 2005 e tem acesso remoto nativo através da web. 23

REPOSITÓRIOS CENTRALIZADOS CLEAR CASE Permite criar dois tipos de projetos: Base e UCM. Projeto proprietário da Rational (IBM) Um projeto do ClearCase Base possui recursos similares ao SVN e CVS. (check-in, check-out, branch, labels, etc ) No ClearCase UCM Stream: Seria como um branch integrado a atividades. Geralmente são separadas por desenvolvedores e existe uma stream de integração. Delivery: É a entrega do código de uma atividade para a stream de integração; Rebase: Representa a atualização da sua stream de desenvolvimento a partir de uma baseline; 24

REPOSITÓRIOS CENTRALIZADOS CLEAR CASE BRANCH X STREAM Um branch é uma ramificação no controlador de versão do fonte do nosso projeto. Essa ramificação é muito utilizada para realizar manutenções evolutivas e correções no software. 25

REPOSITÓRIOS CENTRALIZADOS CLEAR CASE BRANCH X STREAM Branch pode evitar que o código parcial de uma manutenção evolutiva vá por engano para homologação/ produção junto com a correção de um bug simples aberto e corrigido nas últimas horas. Se uma pessoa fizer algo errado e realizar o check-in, essa pessoa pode impactar o trabalho de outras pessoas, mesmo em projetos com testes unitários Para evitar isso o ClearCase UCM existe a opção de utilizar o que é chamado de desenvolvimento em paralelo que é um pouco diferente do conceito do CVS / SVN ou mesmo ClearCase Base. 25 25

REPOSITÓRIOS CENTRALIZADOS COMPARATIVO GERAL SCV RCS CVS SVN VSS Clear Case Desenvolvi mento Concorrent e Não permite Bom Bom Não permite Muito Bom Histórico de versões Não Não Sim Não Sim Comits Atômicos Versionamento Versionamento de arquivos Versionamento de arquivos Versiona mento de módulos Versiona mento de arquivos Versiona mento de arquivos Regular Regular Muito bom bom Muito bom 26

REPOSITÓRIOS CENTRALIZADOS COMPARATIVO GERAL SCV RCS CVS SVN VSS Clear Case Lançado 1980 1986 2004 1995 1992 em Desenvolvi do por Walter F. Tichy Dick Grune CollabNet e Red Hat One Tree Software Atria Software Licença GPL GPL CollabNet/ Tigris.org MSDN Universal Rational Licence Método de Bloqueio Bloqueio Fraco Sim Não (Pode ser simulado) License Não Sim Não Não Sim Sim Não Sim 27

REPOSITÓRIOS CENTRALIZADOS CONCLUSÕES Entre os mais comuns encontram-se as soluções livres: CVS e SVN; e as comerciais: SourceSafe e ClearCase. Optar por uma solução comercial geralmente está relacionada à garantia, pois as soluções livres não se responsabilizam por erros no software e perdas de informações, apesar das soluções livres poderem ter melhor desempenho e segurança que as comerciais 28

COMPARAÇÃO: CENTRALIZADO E DISTRIBUÍDO 29 http://www.infoq.com/articles/dvcs-guide 29

REPOSITÓRIOS DISTRIBUÍDOS Cada projeto é um repositório completo, com histórico total. Independente de acesso à rede ou servidor central. Commits podem ser feitos offline. Commits podem ser transferidos (push e pull) de um repositório para outro facilmente. 30

RECOMENDÁVEL 31

GIT 32

REPOSITÓRIOS DISTRIBUÍDOS GIT Criador: Linus Torvalds(2005). Responsável: Junio C Hamano Licença: GPL v2 Última versão: v1.6.5.2 Escrito em: C, Bourne Shell, Perl 33

REPOSITÓRIOS DISTRIBUÍDOS GIT: CARACTERÍSTICAS Desenvolvido para manter o Kernel do Linux. Rapidez, eficiência e uso em grandes projetos. http://git.or.cz Commits offline. Commits parciais. Bisect Git SVN: Permite usar Git em repositórios SVN 34

REPOSITÓRIOS DISTRIBUÍDOS GIT: GUIS gitk GitX(Mac OS X) TortoiseGit (Windows) Git Extensions (Windows) Qgit (Qt) 35

REPOSITÓRIOS DISTRIBUÍDOS GIT: HOSPEDAGEM Hospedagem pública repo.or.cz - http://repo.or.cz Gitorious - http://gitorious.org/ Hospedagem privada codebase - http://www.codebasehq.com/ Unfuddle - http://unfuddle.com/ Hospedagem Privada e Pública GitHub - http://github.com/ CodaSet - http://codaset.com/ 36

REPOSITÓRIOS DISTRIBUÍDOS GIT Projetos de software que usam Git: Kernel do Linux, Servidor X.org, Qt(toolkit), Android do Google Ruby on Rails. gcc 37

BAZAAR 38

REPOSITÓRIOS DISTRIBUÍDOS BAZAAR Criador: Martin Pool Desenvolvido por: Canonical Ltd. and community Licença: GPL Última versão: October 14, 2009: Bazaar 2.0.1 Escrito em: Python, Pyrex, C 39

REPOSITÓRIOS DISTRIBUÍDOS BAZAAR: CARACTERISTICAS Comunidade grande e ativa(canonical/ubuntu) http://bazaar-vsc.org/ O controle do repositório fica na raiz do projeto, em um diretório chamado.bzr Permite trabalhar nos repositórios SVN, Git, Mercurial. Workflows Focado na facilidade de uso. Suporta plugins. Criticado por mau desempenho 40

REPOSITÓRIOS DISTRIBUÍDOS BAZAAR: GUIS GUIs para bazaar estão disponíveis para: Windows Linux OS X 41

REPOSITÓRIOS DISTRIBUÍDOS BAZAAR: HOSPEDAGEM Launchpad - https://launchpad.net/ SourceForge - http://sf.net/ GNU Savannah - http://savannah.gnu.org/ 42

REPOSITÓRIOS DISTRIBUÍDOS BAZAAR Projetos de software que usam Bazaar: 43

MERCURIAL 44

REPOSITÓRIOS DISTRIBUÍDOS MERCURIAL Responsável: Matt Mackall Licença: GPL v2 Última versão: 1.3.1 / 2009-07-23 Escrito em: Python e C. 45

REPOSITÓRIOS DISTRIBUÍDOS MERCURIAL: CARACTERÍSTICAS Funciona basicamente linha de comando, sempre começa com hg. http://mercurial.selenic.com/ Permitir fazer o clone via http Permitir fazer o pull (subir as alterações) para o servidor também via http 46

REPOSITÓRIOS DISTRIBUÍDOS MERCURIAL: GUI Hgk (tcl/tk) GUIs para Mercurial estão disponíveis para: Windows Linux OS X Netbeans, desde a versão 6 TortoiseHg 47

REPOSITÓRIOS DISTRIBUÍDOS MERCURIAL: HOSPEDAGEM FreeHg - http://freehg.org/ SourceForce - http://sourceforge.net/ Google Code- http://code.google.com/projecthosting/ GNU Savannah - http://savannah.gnu.org/ Bitbucket - http://www.bitbucket.org/ 48

REPOSITÓRIOS DISTRIBUÍDOS MERCURIAL Projetos de software que usam Mercurial: Mozilla Symbian OS GNU Octave Todos os projetos da Sun usam Mercurial, exceto MySQL. 49

LAUNCHPAD 50

LAUNCHPAD É uma aplicação web. Software livre. Criador: Canonical Ltd. Desenvolvido por: Canonical Ltd. and community Licença: GNU Affero General Public License Última versão: Launchpad 3.0 23 Sep 2009 Escrito em: Python 51

LAUNCHPAD Usa Bazaar, como repositório Outros grandes projetos usando Launchpad são: MySQL (code hosting) Zope 3 (bug tracking) Inkscape (bug tracking) Bazaar GNOME Do Integrade 52

LAUNCHPAD 15,009 projetos 461,952 bugs 222,746 branches 53

REPOSITÓRIOS DISTRIBUÍDOS GNU ARCH Parte do projeto GNU. Licença: GNU GPL Autor original: Thomas Lord Desenvolvedor: Andy Tai Versão estável: 1.3.5 / 2006-07-20. Criticado pela quantidade de comandos. 54

REPOSITÓRIOS DISTRIBUÍDOS MONOTONE Desenvolvedores: Nathaniel Smith, Graydon Hoare Escrito em: C++ Pode importar projetos CVS. Fácil de aprender. Menos popular do que Bazaar, Git e Mercurial. 55

REPOSITÓRIOS DISTRIBUÍDOS DARCS Desenvolvido por: David Roundy Escrito em: Inicialmente C++, depois Haskell Desenvolvido para substituir os tradicionais CVS e SVN 56

REPOSITÓRIOS DISTRIBUÍDOS COMPARAÇÃO DOS REPOSITÓRIOS Software Mantido por Estado Licença Plataforma Git Junio Hamano Ativo GPLv2 Bazaar Canonical Ltd. Ativo GPL Linux, Mac OS X Windows 70% Linux, Mac OS X Windows 100% Linguage m C, Bourne Shell, Perl Python, Pyrex, C Mercurial Matt Mackall Ativo GPLv2 GNU Arch Andy Tai Mantido GPL Linux, Mac OS X Windows 50% Linux, Windows, Mac OS X Python e C Shell scripts Monotone Nathaniel Smith, Graydon Hoare Ativo GPL Linux, Windows, Mac OS X C++ Darcs David Roundy Ativo GPL Linux, Windows, Mac OS X Haskell 57 57

REPOSITÓRIOS DISTRIBUÍDOS COMPARATIVO GERAL PARTE 1 58

REPOSITÓRIOS DISTRIBUÍDOS COMPARATIVO GERAL PARTE 2 59

REPOSITÓRIOS DISTRIBUÍDOS COMPARATIVO GERAL PARTE 3 60

DÚVIDAS? 61

BIBLIOGRAFIA MOLINARI, Leonardo. Gerência de Configuração - Técnicas e Práticas no Desenvolvimento do Software. Florianópolis: Visual Books, 2007. 85-7502-210-5 MIKKELSEN, Tim, PHERIGO, Suzanne. Parctical Software Configuration Management: The Latenight Developer's Handbook. Upper Saddle River, NJ, EUA: Prentice Hall PTR, 1997. 0-13-240854-6 Cristiano Caetano. CVS: Controle de Versões e Desenvolvimento Colaborativo de Software. ed. Novatec, 2004. 62

BIBLIOGRAFIA GNU Arch Tutorial: http://www.gnu.org/software/gnu-arch/tutorial/arch.html Subversion Home Page: http://subversion.tigris.org/ Wikipedia (CVS): http://en.wikipedia.org/wiki/cvs Wikipedia (RCS): http://en.wikipedia.org/wiki/revision_control_system Wikipedia (Version Control System): http://en.wikipedia.org/wiki/version_control_system Configuration Management (SCM) Systems http://www.dwheeler.com/essays/scm.html 63