Sempre tive curiosidade de saber as reais diferenças entre CVS e Subversion. Usei os dois (muito mais o primeiro do que o segundo), e fora algumas diferenças óbvias (tipo o fato que Subversion versiona pastas e metadados), não sabia bem os detalhes. Só sabia que todos diziam que Subversion é bem superior. Achei um texto bastante interessante sobre este assunto. Não sei se é completo, mas fornece uma boa visão de ambos.
Miguel,
O artigo é bem interessante. Eu não tenho muita experiência com CVS e minha experiência com SVN não tem nem um ano ainda, mas a primeira impressão que tenho comparando as duas tecnologias é que o SVN é bem mais fácil de usar.
Sempre tive problemas configurando servidores CVS, especialmente no que se diz respeito ao controle das permissões de acesso. Também nunca entendi direito as terminologias de branches e tag do CVS. Tudo bem que isto provavelmente é limitação minha, mas, de qualquer forma, todas as pessoas que usaram CVS que eu conheço e que tiveram boas experiências com ele disseram que estavam usando ele através do plug-in que vem com o Eclipse. Como, infelzmente eu não tinha esta opção quando eu estava usando o CVS, não tenho como dizer se minha frustração inicial se deve a isso também. De qualquer forma, ter problemas com configuração de permissão de acesso não é dependente de como você está acessando o servidor CVS…
Já com o SVN a experiência foi muito tranqüila desde o começo. Primeiro porque a forma como ele trata os arquivos é mais simples: tudo no repositório se resume a cópias de arquivos com históricos. Além disto, o SVN tem uma vantagem estratégica: como ele guarda os dados do repositório numa base de dados, quando você cria um branch, por exemplo, esta operação tem tempo constante, já que não é necessário copiar todos os arquivos com seus históricos como seria feito no CVS… basta criar as estruturas de dados para apontar para o novo branch na base de dados.
Enfim, eu prefiro o SVN, apesar de não ter muita experiência neste negócio.
Em relação ao aritgo, tem um dado que eu sei que está desatualizado nele: o SVN não usa mais o BerkleyDB como é dito. Existe esta opção ainda, mas as novas versões estão usando FSFS. O BerkelyDB parece que tinha alguns problemas com repositórios gigantescos… Acho que isto definitivamente não é mais um problema, já que o outro dia tive que acessar o respositório do GCC e ele está todo em SVN…
Um abraço,
Leonardo Garcia
Link | November 24th, 2006 at 11:46