Já conhece o Subversion?
Subversion é uma ferramenta open-source de controle de versão. O projeto iniciou em 2000 com a idéia de se construir um CVS melhor, isto é, mantendo o mesmo modelo de trabalho, mas consertando as falhas e limitações que o CVS apresenta. Desde então, vem atraindo uma comunidade cada vez maior de colaboradores e usuários.
O objetivo de substituir o CVS como padrão vem sendo alcançado pouco a pouco. Diversos projetos open source representativos já migraram seus repositórios para o Subversion, tais como: Apache, Debian, Zope, KDE, Mono, Conectiva Linux, entre outros.
Funcionalidades
O Subversion tem a maior parte das funcionalidades do CVS. De modo geral, a interface do Subversion segue à do CVS. Isto facilita a transição dos usuários do CVS para o Subversion.
Controle de Diretórios, Renomeações e Meta-Dados
Esta era uma das maiores reclamações sobre o CVS. Subversion não só controla a versão do conteúdo dos arquivos, mas também de diretórios, cópias, renomeações e meta-dados.
Operações Atômicas de commit
Um conjunto de modificações a serem realizadas num commit é aceito como um todo ou nenhuma alteração é feita. Não há a possibilidade que apenas uma parte das alterações seja aceita quando enviadas ao repositório tal como acontecia no CVS. Além disso, os números de revisão estão atrelados a cada operação de commit e não aos arquivos.
Opções de Acesso à Rede
Subversion foi projetado para uma camada abstrata de acesso ao repositório, o que permite a implementação de novos mecanismos de rede. Um dos mecanismos existentes usa o protocolo WebDAV/DeltaV baseado em HTTP através do Apache 2. A outra opção é o servidor dedicado svnserve como opção ao Apache, e que pode ser combinado ao ssh.
Arquivos Binários e de Texto Tratados Consistentemente
Outro grande problema bastante conhecido é que o CVS que não funciona tão bem com arquivos binários. Por outro lado, o Subversion usa um algoritmo de diferenciação binário que funciona de modo idêntico tanto para arquivos texto (legíveis por humanos) quanto para arquivos binários (ilegíveis para humanos).
Ramificações e Rotulações em Tempo Constante
O tempo das operações de ramificação (branching) e rotulação (tagging) é constante, e não depende do tamanho do projeto no repositório. Esse resultado é obtido através da forma de implementação do Subversion para essas operações, que é feita como uma operação de cópia que resulta em links, ocupando pouco espaço e um intervalo de tempo constante.
Uso mais Eficiente da Rede
O protocolo de rede usa a largura de banda eficientemente enviando as diferenças entre cliente/servidor e servidor/cliente sempre que possível, ao contrário do CVS que envia as diferenças do servidor ao cliente, mas não do cliente ao servidor.
Como posso usar?
O Subversion já está disponível para todos os nossos clientes em plataforma Linux, para utilizá-lo abra um chamado com o nosso suporte técnico fazendo esta solicitação.
Fonte: Este post foi retirado de um trecho da matéria sobre o Subversion no site da Pronus Engenharia de Software, que inclusive tem a disposição um curso sobre o Subversion. Clique aqui para ver a matéria completa.
Agradecimento: Agradecemos ao cliente Joel Wallis (http://joelwallis1.wordpress.com) que fez a sugestão para disponibilizarmos o Subversion.
Deixe um comentário