Diferença entre CVS e Subversion Diferença entre

Anonim

CVS vs. Subversion

O Sistema de Versões Concorrentes (também conhecido como Concurrent Versioning System ou CVS) é um sistema de controle de revisão de software livre - isto é, é um programa aberto para uso o público que administra mudanças em documentos, programas e outras informações armazenadas em arquivos de computador). Permite que vários desenvolvedores colaborem.

O Subversion (também conhecido como SVN) é um sistema de controle de versão usado para manter as versões atuais e anteriores de arquivos (como código-fonte, páginas da web e documentação). É uma atualização direta do CVS e seu sucessor mais compatível. É também uma tecnologia de fonte aberta e tem sido amplamente utilizada em múltiplos projetos - como Apache Software Foundation, Free Pascal, MediaWiki e código do Google.

O CVS usa a arquitetura do servidor cliente - isso significa que um servidor armazena uma versão atual (ou versões) de um projeto específico, além de salvar seu histórico. O cliente então se conecta ao servidor como um meio para "verificar" uma cópia do projeto que foi concluída antes de se conectar ao servidor. O cliente então é capaz de trabalhar nesta cópia do projeto e depois verificar as mudanças que ele fez mais tarde. Além de permitir que um cliente faça check-in em uma cópia de um determinado projeto, o CVS permite que vários clientes trabalhem e façam check-in no mesmo projeto simultaneamente. Os clientes poderão modificar os arquivos dentro de sua própria cópia de trabalho do projeto e enviar essas edições para o servidor.

O Subversion comete - isto é, cria um conjunto de mudanças tentativas e os torna permanentes - como operações atômicas verdadeiras (ou uma série de operações de dados em que tudo ocorre ou nada ocorre). O Subversion também permite aos usuários renomear, copiar, mover e / ou remover arquivos; No entanto, esses arquivos manterão seu histórico de revisão completo. Este sistema usa saída parsável, nativamente design de biblioteca em camadas cliente / servidor e ramificação e marcação como operações baratas (independentemente do tamanho do arquivo). Existem ligações de idiomas para PHP, Python, Perl e Java. O Subversion também custa de acordo com o tamanho da alteração e não o tamanho dos dados.

O CVS pode manter diferentes ramos de um projeto - ou seja, diferentes aspectos ou permutações do mesmo projeto podem se ramificar do projeto de origem e o CVS manterá todas as versões (uma versão lançada do O projeto forma um ramo para correções de bugs, enquanto uma versão diferente que está sendo desenvolvida pode conter novos recursos e grandes mudanças e formar um ramo do mesmo projeto, por exemplo).

Resumo:

1. O CVS permite que múltiplos usuários colaborem no mesmo projeto; O Subversion mantém as versões atual e anterior dos arquivos.

2. O CVS permite aos usuários verificar o mesmo projeto e modificá-lo; O Subversion compromete-se como verdadeiras operações atômicas.

3. O CVS pode manter diferentes ramos de um projeto; O Subversion usa saída parsável.