Configurando o PHPUnit como um sub-repositório SVN


0 Flares Twitter 0 Facebook 0 Google+ 0 LinkedIn 0 Filament.io Made with Flare More Info'> 0 Flares ×

Neste artigo será mostrado exemplos de como adicionar o PHPUnit como um sub-repositório SVN ao seu projeto já versionado e mantê-lo buscando atualizações externas a cada novo update.

Por que eu deveria usar um sub-repositório SVN?

Se você trabalha com SVN e usa bibliotecas de terceiros dentro de um projeto já versionado, sabe o quanto é chato mantê-lo sincronizado com os repositórios dos mantenedores oficiais, isto por que, certamente ninguém quer ter em seus projetos, por exemplo, bibliotecas com bugs ou falha de segurança já corrigidas e publicadas no repositório oficial.

Então vamos a um exemplo prático, se você utiliza o client do svn pela console:

$ cd /var/www/seuprojeto
$ mkdir vendor
$ cd vendor
$ svn propset svn:externals 'phpunit https://github.com/sebastianbergmann/phpunit/trunk' .
$ svn update

O bloco de comandos acima terá a seguinte saída:

Atualizando '.':
Fetching external item into 'phpunit':
A    phpunit/phpunit
A    phpunit/phpunit.bat
A    phpunit/phpunit.xml.dist
A    phpunit/phpunit.xsd
A    phpunit/src
A    phpunit/src/Exception.php
A    phpunit/src/Extensions
A    phpunit/src/Extensions/GroupTestSuite.php
A    phpunit/src/Extensions/PhptTestCase.php
A    phpunit/src/Extensions/PhptTestSuite.php

...

 

Mas se você preferir utilizar o Netbeans também é possível definir utilizando o seguinte caminho:

 

Menu SVN Netbeans

 

E então definindo na tela abaixo os seguintes atributos:

SVN Menu Netbeans

Nome da Propriedade: svn:externals
Valor da Propriedade: phpunit https://github.com/sebastianbergmann/phpunit/trunk

A partir de agora quando um update for efetuado em /var/www/seuprojeto sempre será efetuada uma verificação no repositório externo do PHPUnit – garantindo assim que ele sempre estará atualizado.

 

Outros exemplos de utilização

Imagine o quanto fica mais fácil manter um sub-repositório para os diretórios css e images quando se trabalha com Sprites CSS, ao invés de fazer o deploy em cada projeto.

Então vamos ao exemplo prático no TortoiseSVN:

TortoiseSVN Properties

 

Assim a cada update na raiz do seu projeto, seu diretório css e images também sempre serão atualizados do seu repositório de sprites. Desta forma é possível manter de forma organizada seus sprites garantindo que com o deploy convencional todos os seus projetos que utilizam seu repositório de sprites terão as imagens em suas devidas coordenadas sem nenhuma tarefa extra de copiar e colar.

 

Sumário
Nome do Artigo
Configurando o PHPUnit como um sub-repositório SVN
Descrição
Este artigo mostra como adicionar o PHPUnit como um sub-repositório SVN ao seu projeto já versionado e mantê-lo buscando atualizações externas a cada update.
Autor
0 Flares Twitter 0 Facebook 0 Google+ 0 LinkedIn 0 Filament.io Made with Flare More Info'> 0 Flares ×