Subversion

Apache Subversion
Desenvolvedor Apache Software Foundation
Versão estável 1.14.3 (28 de dezembro de 2023; há 4 meses)
Sistema operacional Multi-plataforma
Licença Licença Apache
Página oficial subversion.apache.org/

Apache Subversion (também conhecido por SVN) é um sistema de controle de versão desenhado especificamente para ser um substituto moderno do CVS, que se considera ter algumas limitações. O Subversion utiliza banco de dados Berkeley BD.

Histórico

Versão 1.6: (lançada em 20 de março de 2009)

  • Melhorias no svn merge;
  • Correção de vários bugs.

Versão 1.5: (lançada em 19 de junho de 2008)

  • Registro de intercalagens.

Versão 1.4: (lançada em 10 de setembro de 2006)

  • Suporte ao BDB 4.4;
  • O acesso ao repositório mudou. Quer dizer que os repositórios vão sendo gradualmente atualizados. Então, versões anteriores não poderão aceder a novos repositórios.

Versão 1.3: (lançada em 1 de janeiro de 2006)

  • Binds para python e ruby;
  • Mais de 30 bugs corrigidos.

Versão 1.2: (lançada em 21 de maio de 2005)

  • travamento de arquivos quando não é possível intercalá-los ("reserved checkouts")
  • auto-versionamento WebDAV integral

Versão 1.1 (lançada em 20 de Setembro de 2004):

  • mensagens internacionalizadas do programa
  • versionamento de atalhos simbólicos
  • um novo formato de repositório, FSFS, que não usa um "back-end" de base de dados, guardando as revisões em ficheiros no sistema de ficheiros.

A versão 1.0 do Subversion (lançada em 23 de Fevereiro de 2004) possui as seguintes características:

  • As características mais correntes do CVS
  • São guardadas versões de directorias, mudanças de nome e meta-dados de ficheiros
  • As operações de "commit" são verdadeiramente atómicas
  • Servidor HTTP Apache como servidor de rede, WebDAV/DeltaV como protocolo (também existe um processo independente de servidor que usa um protocolo personalizado sobre TCP/IP)
  • A ramificação e a etiquetagem são operações "baratas" (em tempo constante)
  • Desenho nativo de arquitectura cliente-servidor e de "biblioteca em camadas"
  • O protocolo cliente-servidor envia diffs em ambas as direcções
  • Os custos são proporcionais ao tamanho das mudanças e não ao tamanho dos dados
  • Tratamento eficiente de ficheiros binários.
  • Saída de informação passível de ser analisada gramaticalmente (incluindo a saída de registos em formato XML)
  • Licença de software livre - "licença CollabNet/Tigris.org ao estilo Apache"

Softwares relacionados

Clientes/fachadas em ambiente gráfico de usuário (GUI)

  • RapidSVN fachada multi-plataformas em ambiente gráfico de utilizador escrita em C++ e recorrendo à biblioteca wxWidgets
  • eSvn cliente baseado na biblioteca Qt
  • JSVN cliente Java swing
  • SmartSVN Cliente SubVersion para Linux, Windows e MAC
  • TortoiseSVN Windows shell (i.e. Explorer) extension
  • svnX Mac OS X GUI front-end to svn
  • AnkhSVN Windows é uma extensão (addon) do Visual Studio.NET - Permite que as ações mais comuns sejam executadas diretamente da IDE.

Alternativas

  • Subversion for NetBeans - Plugin de integração do Subversion no NetBeans
  • subclipse - projecto de integração do Subversion no Eclipse
  • SVNKit (antigo JavaSVN) - biblioteca de cliente Subversion em Java.
  • Subversion for Mac OS X

Referências

  • C. Michael Pilato, Ben Collins-Sussman, Brian W. Fitzpatrick; Version Control with Subversion; O'Reilly; ISBN 0-596-00448-6 (1st edition, paperback, 2004)
  • Garrett Rooney; Practical Subversion; Apress; ISBN 1-59059-290-5 (1st edition, paperback, 2005)
  • Mike Mason; Pragmatic Version Control Using Subversion; Pragmatic Bookshelf; ISBN 0-9745140-6-3 (1st edition, paperback, 2005)
  • Heitor Rapcinski; Utilizando subversion como controle de versão. Publicado no GUJ.

Ver também

Ligações externas

  • Página do projeto Subversion
  • Livro "Version control with Subversion"
  • AnkhSVN extensão para o Visual Studio.Net
  • Problemas com o Patch no SVN