Controle de versão com Subversion
Posted by Alberto on May 19th, 2008
Há alguns meses atrás eu tive uma grande necessidade de organizar as versões de uma aplicação. Simplesmente porque a situação já não estava “legal”. O que quero dizer é que haviam arquivos e mais arquivos de backup, e no final das contas era praticamente impossível saber qual era a última versão que funcionava.
Uma forma de minimizar esses tipos de problemas é utilizar uma ferramenta de controle de versão. A ferramenta que venho utilizando chama-se SUBVERSION.
O que é um software de controle de versão? E, para que serve? (Wikipédia)
“Um sistema de controle de versão é um software com a finalidade de gerenciar diferentes versões no desenvolvimento de um documento qualquer. Esses sistemas são comumente utilizados no desenvolvimento de software para controlar as diferentes versões – histórico e desenvolvimento – dos códigos-fontes e também da documentação.”
Antes de ver como utilizar a ferramenta, vamos ver alguns conceitos importantes:
- Repositório: Local onde o(s) projeto(s) será(ão) armazenado(s).
- Trunk: Diretório onde se encontrará o projeto em fase de desenvolvimento (Dia a dia). O desenvolvimento do projeto começa aqui dentro.
- Branch: Diretório destinado às fases de testes. Vamos supor o seguinte cenário, enquanto a Equipe A trabalha no desenvolvimento de novas funcionalidades da versão 1.0 do projeto, a Equipe B já inicia alguns testes para adicionar na versão 2.0 do projeto. Este projeto é de grande importância. Tudo o que for feito como forma de testar algo, sem comprometer o projeto como um todo, deverá ser colocado dentro deste diretório.
- Tags: Diretório destinado às releases do projeto. Sempre que novas funcionalidades são adicionadas ao projeto e/ou bugs são corrigidos novas versões surgem dentro do diretório TAGS.
Sempre que se cria uma nova release, todo o projeto que se encontra em trunk é copiado para tags. É legal saber que, os arquivos não são copiados literalmente sempre que uma nova release é lançada. O subversion controla os arquivos e copia apenas os arquivos que sofreram alterações, isto é, arquivos que não sofreram modificações são linkados internamente dentro da nova release, fazendo com que o número de arquivos repetidos dentro do seu repositório seja mínimo.
Read the rest of this entry »
Recent Comments