Desde a cadeira de Ambientes de Desenvolvimento (dada pelo menos fantástico Crespo) no Técnico que o controlo de versões tem sido para mim uma ferramente essencial no que toca ao desenvolvimento de software. Tornei-me um viciado e pelos dias de hoje quase toda a comunidade de informáticos em particular os programadores.

Existem muitas ferramentas que auxiliam a tarefa de controlar o código fonte e respectivas alterações que compõem uma aplicação ou um programa, sendo que o mais conhecido (e open-source) é o CVS, ou Concurrent Versions System, e apesar de todas as limitações deste sistema (que já era desenvolvido à custa do velhinho RCS) ainda era e é o standard na industria, pois bem, mas isso parece estar a mudar! Com a chegada do SubVersion este domínio parece estar a mudar, com um rol de vantagens sobre o anterior sistema, esta nova ferramenta só podia ser atractiva! Vai daí decidi experimentar, no processo li e tomei algumas notas que agora quero partilhar! 🙂

Alguns artigos que eu andei a ler:

Existe também online o projecto de um livro sobre o SubVersion a lançar este mês pela O’Reilly Publishers:

Algumas das características chaves do SubVersion em relação ao CVS.

A instalação é relativamente simples, embora a determinado momento tenha optado não pela ultima release, mas pela versão de desenvolvimento por causa da integração com o mod_dav do Apache. O pormenor engraçado é que para sacar a versão em desenvolvimento é necessário ter uma versão instalada! hehe É o que repositório está em SubVersion! 😉 Por isso sugiro que começem pela ultima release que apesar da minha experiência é completamente funcional!

Uma das vantagens que eu gostei no SubVersion é que apesar de ser a primeira versão houve uma enorme preocupação com a integração e com o desenvolvimento de muitas APi’s, a minha favorita claro, é a API para Perl, que me permite de ora em diante integrar controlo de versões em qualquer aplicação que eu precise!!

A outra grande vantagem e que devo dizer-vos que acho excelente embora seja um louco pela shell, é a possibilidade de através do WebDAV poder montar repositórios como directorios e ao alterar o arrastar ficheiros e código para essa directoria poder com o esforço e um movimento de rato desencadear automáticamente e de forma transparente aos utilizadores trás acções sobre o repositório, a cada alteração de um ficheiro numa directoria montada por WebDAV é feito automáticamente um checkout, um checkin e um commit ou como se custuma dizer pelo nosso portugal: “Com uma cajadada, três coelhos de uma só vez!”.