importantes encontrados em varias referencias encontradas sobre o assunto. Caracteristicas CVS x SVN (Subversion)O Subversion foi construido pensando em incorporar os conceitos do CVS e corrigir suas limitacoes.O Subversion utiliza banco de dados Berkeley BD, permitindo operacoes eficientes e em com grande numero de arquivos. Seu servidor pode fornecer copias de seguranca sem que seja necessario desliga-lo. O CVS utiliza um arquivo para cada arquivo versionado, fazendo com que a operacao possa ser bastante lenta (lockfile lento, pesado).Ao contrario do CVS que nao permite um controle de versao dos diretorios, o SVN permite um controle de historico da mesma forma que mantem o controle dos arquivos. Quando se deseja mover algum arquivo no CVS e necessario um corte manual para nao perder o historico, enquanto a propria ferramenta do SVN fornece funcoes de mover, copiar e renomear mantendo o historico de cada uma destas acoes. No Subversion quando um usuario faz um commit, a mudanca pode ser aplicada ou revertida, ficando visivel para os demais somente quando concluida (como um commit e rollback no BD), commit atomico (todos de uma vez ou revert todos). O CVS commita cada arquivo por vez ate que toda operacao seja concluida, se a conexao de rede falhar durante este processo existe risco de acontecer um commit parcial ou ate mesmo que o arquivo seja corrompido. Caso seja necessario reverter um commit com o CVS e necessario baixar do historico a versao desejada.O mecanismo de commit atomico do Subversion mantem juntas as alteracoes em um grupo com uma mensagem de confirmacao e um numero de revisao ou alteracao e atribuido. Este numero pode ser utilizado para recriar o repositorio a qualquer momento. No CVS, o historico e gravado por arquivo.Caso queira colocar um repositorio na web com o Subversion voce pode utilizar o Apache, protocolo HTTPS, fazendo proveito dos mecanismos de seguranca do Apache.O CVS guarda separadamente cada revisao de um arquivo, por exemplo: 10 versionamentos de um arquivo de 100k utilizara quase 1MB de espaco em disco. O Subversion utiliza um algoritmo binario para armazenar todos os arquivos e um calculo para identificar suas diferencas, ocupando assim um espaco muito menor.SVN foi escrito em C, encontra disponivel em muitas plataformas com Windows, Linux, Solares, Apple OSX e caso nao exista uma versao do SVN para sua plataforma voce pode baixar o codigo fonte e compila-lo.Existe uma ferramenta chamada CVS2SVN que auxilia o processo de migracao entre o CVS e o SVN, mantendo todo o historico do projeto. (Em uma proxima postagem falarei sobre o uso desta ferramenta)Logo abaixo temos uma tabela abrangendo as caracteristicas de ambos. Caracteristica CVS Subversion Armazenamento E criado um arquivo para cara versionamento de arquivo.Obs.: Para corrigir possiveis falhas basta editar diretamente o arquivo. Banco de dados (Berkeley BD).Obs.: Utiliza uma ferramenta para correcao de falhas. Manipulando diretorios Nao permite.E necessario um corte manual para nao perder o historico. Trabalha da mesma forma que os arquivos. Os diretorios tambem sao versionados. Podem ser movidos, copiados e renomeados e este historico e mantido. Acesso concorrente Podem ocorrer conflitos por se tratar de acesso