Lista de softwares para controle de versão

Este post tem o intuito de prover uma visão geral a respeito dos softwares existentes para controle de versão. Constam nesta listagem apenas aqueles mais conhecidos e que contribuíram para a evolução deste tipo de ferramenta. Alguns deles não têm sua utilização encorajada nos dias de hoje devido as suas inúmeras limitações e serão devidamente identificados.


Resultado de imagem para version control

Revision Control System (RCS)

Sistema de Controle de Revisão (SCR) em português, é uma implementação de software livre de controle de revisão, que segue o paradigma local, onde todos os desenvolvedores devem utilizar o mesmo sistema de arquivos. Armazena a versão mais recente e os deltas atrasados para o acesso mais rápido à ponta do tronco e possui uma interface de usuário melhorada ao custo do acesso lento à derivação do ramo e suporte faltando para deltas incluídos / excluídos.

Última versão estável: 22/01/2015; Seu uso não é encorajado;  Disponível em https://www.gnu.org/software/rcs/.

Concurrent Versions System (CVS)

O CVS, também conhecido como o Sistema de Versão Concorrente, é um sistema de controle de revisão de cliente-servidor de software livre no campo do desenvolvimento de software que segue o modelo centralizado. Um sistema de controle de versão acompanha todo o trabalho e todas as mudanças em um conjunto de arquivos e permite que vários desenvolvedores (potencialmente amplamente separados em espaço e tempo) colaborem.

Última versão estável: 05/06/2007; Seu uso não é encorajado;  Disponível em http://www.nongnu.org/cvs/.

Apache Subversion (SVN)

Antes apenas Subversion, é um sistema de controle de versão e controle de software que segue o paradigma centralizado e possui seus fontes abertos sob a Licença Apache. Os desenvolvedores de software usam o Subversion para manter versões atuais e históricas de arquivos, como código-fonte, páginas da web e documentação. Seu objetivo é ser um sucessor principalmente compatível com o Sistema de Versões Concorrentes amplamente utilizado (CVS).

Última versão estável: 10/08/2017; Está entre as ferramentas mais populares atualmente;  Disponível em https://subversion.apache.org/.

IBM Rational ClearCase

O Rational ClearCase é uma família de ferramentas de software que suporta gerenciamento de configuração de software (SCM) de código-fonte e outros ativos de desenvolvimento de software. Ele também suporta o gerenciamento de dados de design de artefatos de design eletrônico, permitindo o co-desenvolvimento de hardware e software. O ClearCase inclui o controle de revisão e constitui a base para o gerenciamento de configurações em grandes e médias empresas, acomodando projetos com centenas ou milhares de desenvolvedores. É um software proprietário desenvolvido pela IBM.

Última versão estável: 18/12/2017; Seu uso é recomendado para grandes empresas que desejam ter uma solução robusta agregada a uma solução de backups e suporte;  Disponível em https://www.ibm.com/us-en/marketplace/rational-clearcase.

StarTeam

O StarTeam é um sistema de controle de revisão usado no desenvolvimento de software, especialmente quando um projeto envolve várias equipes em diferentes locais. O StarTeam é um aplicativo de software proprietário criado pela Starbase Corporation, que foi adquirido pela Borland em janeiro de 2003 e agora pertence a Micro Focus. O aplicativo é cliente-servidor, apoiado por um banco de dados relacional que retém todas as alterações feitas em um projeto durante sua evolução, bem como os requisitos do projeto, atribuições de tarefas, discussões encadeadas e rastreamento de bugs. O Microsoft SQL Server e o banco de dados Oracle são servidores de banco de dados suportados.

Última versão estável: 20/11/2017; Seu uso é encorajado, aplicando-se as mesmas condições elencadas no ClearCase;  Disponível em https://www.microfocus.com/products/change-management/starteam/.

Microsoft Visual SourceSafe (VSS)

O Microsoft Visual SourceSafe é um programa de controle de código descontinuado, orientado para pequenos projetos de desenvolvimento de software. Como a maioria dos sistemas de controle de origem, o SourceSafe criava uma biblioteca virtual de arquivos de computador. Embora seja mais utilizado para o código-fonte, o SourceSafe podia lidar com qualquer tipo de arquivo em seu banco de dados, mas as versões mais antigas foram mostradas como instáveis quando usadas para armazenar grandes quantidades de dados não-textuais, como imagens e compilados executáveis.

Última versão estável: 10/2005; Descontinuado, uso não recomendado.

Team Foundation Server (TFS)

O Team Foundation Server (geralmente abreviado para TFS) é um produto da Microsoft que fornece gerenciamento de código-fonte (com Team Foundation Version Control ou Git), relatórios, gerenciamento de requisitos, gerenciamento de projetos (para desenvolvimento de software ágil e equipes de cachoeira), compilações automatizadas, gerenciamento de laboratório, testes e capacidades de gerenciamento de lançamento. Abrange todo o ciclo de vida do aplicativo e habilita os recursos do DevOps. O TFS pode ser usado como back-end para vários ambientes de desenvolvimento integrado (IDEs), mas é adaptado para o Microsoft Visual Studio e o Eclipse em todas as plataformas. Possui versões de avaliação e uma versão community, que pode ser utilizada por projetos open source e profissionais individuais.

Última versão estável: 03/01/2018; Seu uso é encorajado, recomendado (mas não exclusivo) para empresas e profissionais que trabalham com soluções da Microsoft, tal como suas IDEs e linguagens;  Disponível em https://www.visualstudio.com/tfs/.

Mercurial

Escrito primariamente em Python, é uma solução de código aberto que segue o paradigma distribuído. Os principais objetivos de design da Mercurial incluem alto desempenho e escalabilidade, desenvolvimento descentralizado, desenvolvimento colaborativo totalmente distribuído, manuseio robusto de arquivos simples e binários e recursos avançados de ramificação e fusão, ao mesmo tempo que são conceitualmente simples. Inclui uma interface web integrada. A Mercurial também tomou medidas para facilitar a transição para usuários de outros sistemas de controle de versões, em especial o Subversion. O Mercurial é principalmente um programa orientado por linha de comando, mas as extensões gráficas da interface do usuário estão disponíveis, como o TortoiseHg, e vários IDE oferecem suporte para controle de versão com Mercurial. Todas as operações de Mercurial são invocadas como argumentos para seu programa de driver hg (uma referência a Hg - o símbolo químico do elemento mercúrio).

Última versão estável: 01/12/2017; Seu uso é encorajado, porém vem perdendo cada vez mais adeptos para o Git. Disponível em https://www.mercurial-scm.org/.

Git

Desenvolvido inicialmente pelo Linus Torvalds, o mesmo criador do Linux, é um sistema de controle de versão para monitorar alterações em arquivos de computador e coordenar o trabalho nesses arquivos entre várias pessoas. É usado principalmente para gerenciamento de código-fonte no desenvolvimento de software, mas pode ser usado para acompanhar as mudanças em qualquer conjunto de arquivos. Como um sistema de controle de revisão distribuída, ele é destinado a velocidade, integridade de dados, e suporte para fluxos de trabalho distribuídos e não-lineares.

Última versão estável: 28/11/2017; Atualmente é a solução mais difundida e utilizada pelos desenvolvedores. Disponível em https://git-scm.com/.

Para uma lista mais completa de todas as ferramentas de controle de versão, visite a listagem colaborativa da comunidade.

Comentários

  1. Por acaso as soluções mais recentes de controle de versões possuem programas (clientes) para facilitar a visualização e gerenciamento dos repositórios? Eu sei que existe funcionalidades integradas em IDEs que oferecem funcionalidades básicas, mas qualquer coisa um pouco fora do comum é preciso ir para o cliente em linha de comando. Será que existe clientes com interface gráfica que facilite a vida do usuário no gerenciamento e ajude a realizar operações no repositórios?

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Plano de Projeto de Software do SIUR

Vocabulário comum entre os Sistemas de Controle de Versão

Git