O que faz do TortoiseSVN um bom aplicativo cliente para Subversion? Aqui está uma pequena lista de recursos.
TortoiseSVN integra-se perfeitamente ao shell do Windows (ou seja, o Explorer). Isto significa que você pode continuar trabalhando com as ferramentas com as quais você já está familiarizado. E você não tem que mudar para uma aplicação diferente cada vez que precisar das funções de controle de versão.
E você não está limitado a usar o Windows Explorer; os menus de contexto do TortoiseSVN funcionam em muitos outros gerenciadores de arquivos, e também na caixa de diálogo Arquivo/Abrir que é comum na maioria dos aplicativos padrão Windows. Você deve, entretanto, ter em mente que o TortoiseSVN é intencionalmente desenvolvido como uma extensão para o Windows Explorer. Assim, é possível que em outras aplicações, a integração não seja tão completa e, por exemplo, as sobreposições de ícones podem não ser exibidas.
A situação de cada arquivo e diretório controlado é indicado por uma pequena sobreposição de ícones. O que permite a você ver rapidamente qual é a situação da sua cópia de trabalho.
Quando você lista as alterações em um arquivo ou pasta, você pode clicar em uma revisão para ver os comentários para aquela submissão. Você também pode ver uma lista de arquivos alterados - basta clicar duas vezes em um arquivo para ver exatamente o que mudou.
A caixa de diálogo de submissões lista todos os itens que serão incluídos em uma submissão, e cada item tem uma caixa de seleção para que você possa escolher os itens que você deseja incluir. Arquivos sem versão também podem ser listados, no caso de você ter esquecido de adicionar aquele novo arquivo.
Todos os comandos do Subversion estão disponíveis nos menus do explorer. TortoiseSVN adiciona seu próprio submenu.
Uma vez que TortoiseSVN é um aplicativo cliente do Subversion, também gostaríamos de mostrar a você algumas das funcionalidades do Subversion:
CVS somente mantém o histórico de alterações de arquivos individuais, mas Subversion usa um controle “virtual” de sistema de arquivos que mantém o histórico de toda a estrutura de diretório ao longo do tempo. Arquivos e diretórios são controlados. E como resultado, temos verdadeiros comandos para mover e copiar arquivos e diretórios.
Cada submissão é enviada completamente para o repositório, ou não é enviado nada. Isto permite aos desenvolvedores construir e submeter as alterações em partes coesas.
Cada arquivo e diretório possue um conjunto de “propriedades” invisíveis. Você pode inventar e gravar qualquer conjunto de chave/valor que desejar. Propriedades são controladas ao longo do tempo, exatamente como o conteúdo dos arquivos.
Subversion tem uma noção abstrata de acesso ao repositório, tornando fácil para as pessoas desenvolverem novos mecanismos de rede. O servidor de rede avançado do Subversion é um módulo para o servidor web Apache, do qual expõe uma variante do HTTP chamada WebDAV/DeltaV. Isto dá ao Subversion uma grande vantagem em estabilidade e interoperabilidade, e provê várias funcionalidades chave de graça: autenticação, autorização, compressão, e navegação no repositório, por exemplo. Uma característica menor, um processo servidor autônomo do Subversion também está disponível. Este servidor exterioriza um protocolo específico que pode ser facilmente encapsulado sobre o protocolo ssh.
Subversion apresenta as diferenças de arquivos usando um algoritmo de comparação binária, que funciona igualmente para arquivos texto (compreensíveis) and binários (ilegíveis). Ambos os tipos de arquivos são gravados compactados da mesma forma no repositório, e as diferenças são trasmitidas em ambas as direções através da rede.
Os recursos necessários para ramificar e rotular não é propocional ao tamanho do projeto. Subversion cria ramos e rótulos simplesmente copiando o projeto, usando um mecanismo parecido ao hard-link. Deste modo estas operações são realizadas rapidamente sem variação de tempo, e consomem muito pouco espaço no repositório.