WAMPP + Subversion

2 de março de 2009

Oi gente!

Queria compartilhar aqui as minhas experiências nessa instalação dupla: WAMPP e Subversion.

A figura mais estranha desses três é o Subversion, que eu particularmente não conhecia até semana passada. Ele é um software de controle de versão de arquivos. Como assim? Bom, resumindo, é como se ele tirasse uma foto de cada momento da vida de um arquivo em desenvolvimento, mostrando as diferenças entre duas versões, quem editou e quando.

Isso é muito usado em grandes projetos de software, onde vários arquivos são produzidos ao mesmo tempo por pessoas diferentes, o que pode salvar muito tempo de trabalho em caso de bugs.

Antes de mais nada, só pra esclarecer, uso o WAMPP por questões práticas. Ele instala tudo o que eu quero e, como é só pra eu fazer coisas pra mim, a configuração básica dele me satisfaz completamente.

 

WAMPP

O WAMPP é o apelido do “XAMPP for Windows”. Ele é gratuito e pode ser baixado do site apachefriends.com, que desenvolve o pacote. A versão que eu utilizei é a 1.7.0 .

A primeira coisa a fazer é instalar o software. Após uma instalação normal dele, é preciso habilitar os pacotes pro SVN no Apache e configurar a pasta onde será o repositório das versões de arquivos.

Eu me direcionei por um arquivo readme (pastadoxampp\apache\SVN_README.txt). Só precisei seguir a partir do passo 3, que é editar o arquivo pastadoxampp\apache\conf\httpd.conf  .
 

3a. Uncomment the following two lines:

#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so

 
Esse trecho já estava correto. Passei pro próximo.
 

3b. Add the following two lines to the end of the LoadModule section:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

 
Adicionei, logo depois da lista enorme de módulos, as linhas:

### SVN (Adicionado depois!) ###
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

E, por fim:

3c. Add the following to end of the file. Note: This Location directive is a
minimal example with no authentication directives. For other options,
especially authentication options, see the Subversion INSTALL file,
the Subversion Book, or the TortoiseSVN Manual.

<Location /svn>
DAV svn
SVNPath your/repository/path
</Location>

Seguindo esse exemplo, coloquei no final do arquivo o seguinte, supondo que você tenha instalado o WAMPP no caminho C:/xampp/ :

#Adicionado depois!
<location /svn>
DAV svn
SVNPath "C:/xampp/webdav"
</location>

O /svn é o caminho onde você quer disponibilizar o repositório. Nos casos de servidores abertos para web isso é útil, pois você disponibiliza a última versão do projeto para qualquer um. Já a pasta webdav, que segundo este site da Apache quer dizer “Web-based Distributed Authoring and Versioning”, ou “Autoria e Versionamento Distribuído Baseado em Web”, serve justamente pra isso, mas nada impede de você escolher uma outra pasta em outro caminho, bastando apenas apontar.

Feitas essas alterações, basta iniciar o Apache (ou reiniciar, caso já estivesse iniciado) e as alterações estarão valendo. Agora, passemos para a configuração do Subversion.

 

Subversion

O que nós fizemos até agora foi configurar o Apache para habilitar o seu Subversion, que já vem incluso mas meio que desabilitado por padrão. Agora, precisamos fazer com que o Subversion seja “iniciado”: que os arquivos utilizados sejam instalados na pasta.

Durante a minha pesquisa pela internet, eu li em muitos lugares sobre o TortoiseSVN, então resolvi usá-lo pra ter a minha opinião a respeito e, realmente, parece ser muito bom. Ele tem um visualisador de versões, pode compará-las… Enfim, ele é bom! Depois de baixar, só instalar ele.

Agora é necessário criar pastas dentro do \xampp\webdav de modo que essas pastas reprensentem os seus projetos paralelos. Mesmo que não se tenha mais de um projeto em andamento, na minha opinião essa hierarquia de pastas não fará mal nenhum, e em caso oposto só deixará a pasta e seus arquivos subversionados mais organizados.

Para fazer isso inicialmente e também no momento da criação de um novo projeto, vá até a pasta \xampp\webdav e crie a(s) pasta(s) dentro dela cujo(s) nome(s)  identifique(m) o(s) projeto(s). Feito isso, clicando sobre uma dessas pastas com o botão direito do mouse, surgirá no menu de contexto um item do Tortoise com um sub-menu, onde se encontra a opção “Create repository here”, ou “Criar repositório aqui”. Com isso, o Tortoise fará a configuração inicial da psta, colocando os arquivos necessários pra vocês.

Agora, só falta configurar o editor de texto.

 

Editor de Texto

No editor de texto, procure pela tela de Preferências e, nela, o local onde você fornece o caminho do executável do SVN, em \xampp\apache\bin\svn.exe. Depois de criar um projeto, dê um Checkout para o URL do repositório usando o caminho completo da forma file:///C:/xampp/webdav/nomedoprojeto e complete com um Commit.

Desculpa por esse último passo, mas como a variedade de programas de desenvolvimento pode ser enorme, se o programa que você utiliza possuir recurso de integração com Subversion, você irá encontrar suas opções em algum lugar dele pois esses são seus comandos.

Obrigado por ler, e qualquer coisa escreva um comentário!

Abraço e boa sorte! =)