<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=238571769679765&amp;ev=PageView&amp;noscript=1">

    subversion

    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.