Ultimamente, tenho usado muito mais Git, mas ainda tenho projetos versionados com Subversion. E como todos os meus plugins estão no Github, sinto uma grande dificuldade em mantê-los atualizados, já que utilizam SCMs diferentes.

Como já tinha lido muito sobre algumas ferramentas para esta finalidade, como Braid, resolvi testá-los. Infelizmente, nenhuma delas funcionava da maneira como eu gostaria. Então, como bom geek que sou, decidi fazer minha própria implementação: conheçam o Pez.

Pez é um gerenciador de plugins para Rails muito simples. A diferença principal em relação às ferramentas semelhantes é que ele não tenta adicionar as alterações/atualizações destes plugins no repositório do projeto. Em vez disso, ele cria um diretório central e faz apenas links simbólicos para o diretório vendor/plugins do projeto. Essa abordagem permite, por exemplo, que você mantenha um único diretório de plugins para diferentes projetos, desde que eles utilizem as mesmas revisões/branches.

Mas como não é só de notícias boas que se vive, aqui vem o lado negativo desta história: você não conseguirá usar o Pez se usa Windows, já que muitos comandos utilizados só estão disponíveis em sistemas *nix.

Se você se interessou, veja à seguir como instalá-lo e quais são os comandos disponíveis.

Instalando o Pez

O Pez está hospedado no Github e pode ser instalado com o comando abaixo.

sudo gem install fnando-pez --source=http://gems.github.com

Se quiser dar uma olhada no código ou gerar sua própria versão, siga os passos abaixo.

git clone git://github.com/fnando/pez.git
cd pez
rake gem:install

Usando o Pez na prática

Depois que o Pez tiver sido instalado, você deve executar o comando pez setup à partir da raíz de seu projeto. Isso irá criar um arquivo config/plugins.yml, que terá todas as informações dos plugins adicionados.

--- 
plugins: 
  rateableplugin: 
    repo: svn://rubyforge.org/var/svn/rateableplugin/trunk
    type: svn
  has_cache: 
    repo: git://github.com/fnando/has_cache.git
    type: git
    revision: 8aafca390796d79ed200000f3f13243b471b96fc
  cucumber: 
    repo: git://github.com/aslakhellesoy/cucumber.git
    type: git
    revision: 32d4f03d19bf33172bb7b48fed48e906a56598a7
    branch: html-visitor
  content_cache: 
    repo: http://svn.codahale.com/content_cache/
    type: svn
    revision: 20
development: /Users/fnando/Sites/sample/tmp/plugins
production: /Users/fnando/Sites/sample/tmp/plugins
 

Por padrão, os plugins são mantidos no diretório tmp/plugins. Você pode alterar essa configuração a qualquer momento, alterando o caminho relativo ao ambiente de seu projeto.

O Pez possui uma série de comandos. Para ver a lista completa, execute o comando pez help. Você pode visualizar a ajuda para um comando específico com o comando pez help [command].

Como você pode perceber, não tem muito segredo! Se você tiver alguma sugestão, envie um comentário. Se quiser contribuir, o projeto está no Github: http://github.com/fnando/pez.

Trivia: O nome foi tirado de um album do Less Than Jake chamado Pezcore, que eu estava ouvindo na hora que eu o programava. Ainda bem que não tenho gostos musicais bizarros! :)

Comentários #

#1 Klaus Paiva disse:
03 Set 08, 08:46PM

Se eu usasse essa idéia pra nomear algo, esse algo correria o risco de se chamar Inezita hahaha :D

#2 Rafael Souza disse:
03 Set 08, 09:08PM

Muito bom, parabéns!

Acho que tem um errinho ali depois do clone do git, não seria "cd pez" :)

Abraço!

#3 Nando Vieira disse:
03 Set 08, 09:50PM

Klaus, sabe que eu pensei nisso na hora que eu escrevi aquele parágrafo? :P

Rafael, valeu pelo aviso. Já corrigi! ;)

#4 nofxx disse:
11 Set 08, 08:56PM

A idéia é bacana, mas eu prego e uso o "standalonismo" ao maximo do extremo.

Uso o sashimi. Ele cria um repo na minha home e copia os arquivos. É o pez sem ln =D

Tá bem servida a comu git.. bom demais.

Deixe um comentário





Não é aceito código HTML: adicione-o no pastie.org ou paste.milk-it.net e poste apenas o link.

Se este é seu primeiro comentário, ele terá que ser aprovado antes de ser exibido.

jQuery: Dominando o framework

Você quer aprender a usar jQuery de verdade? Então chegou a hora! Neste workshop você verá como funciona este framework de JavaScript, entendendo todos os aspectos que fazem do jQuery uma das melhores ferramentas para desenvolvimento de interfaces.

Saiba mais Fechar

Conheça também o HOWTO