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
- Sistema de controle de versão
- Trac, sistema de controle de mudanças integrado ao Subversion