Usando Git em projetos do Google Code

Æ!!

Resolvi escrever esse post depois de começar a contribuir para o projeto do vimbook, que está no Google Code.

Como o Google Code só usa Subversion ( infelizmente ) e eu sou do mundo Git, resolvi usar a ferramenta Git para lidar com SVN, o git-svn! Com ele você pode clonar um repositório SVN e utilizar como Git, e na hora de “commitar” ele retransforma em SVN.

Já havia tentado usar Git-svn no meu projeto de plugin para wordpress, mas nesse caso eu já tinha um repositório Git e fui tentar mandar para um repositório SVN vazio, o que só me deu dor de cabeça, e no fim das contas acabei jogando para um repositório SVN qualquer só para mandar para o WordPress. No fim das contas, depois desse problema com o WordPress eu só tinha abominado o git-svn, mas agora eu estou começando a descobrir o seu valor.

Meus agradecimentos ao Carlan Calazans que me deu umas dicas de Git-svn quando eu comecei a tentar usar no projeto do plugin, que naquele momento não me fora de grande serventia, mas depois ajudaram bastante! ;)

Bem, agora chega de papo-furado e vamos a parte que interessa…Códigos e How To! :)

Primeiramente vamos baixar o código ( estou usando como exemplo o vimbook ):

git-svn clone https://vimbook.googlecode.com/svn/trunk/ vimbook --username seu.usuario.do.google

Ao digitar isso ele vai pedir uma senha que ele gera para a sua conta, e seus commits ficarão ligados a sua conta do Google. Para obter a sua senha é só acessar a página de settings do google code com a sua conta.

Após digitar a sua senha ele vai começar a receber todos os commits do SVN e converter para Git! O processo pode ser um pouco demorado, dependendo do tamanho do repositório SVN que você está importando.

Quando terminar você terá um repositório Git normal funcionando, e você pode trabalhar normalmente com ele, fazendo seus branchs e tudo mais! :D

Vamos ver como seria um fluxo simples para você fazer uma alteração usando branch e mandar de volta para o repositório:

git checkout -b new_changes

Branch criado! Faça as suas alterações… Após as alteraçoes feitas faça os commits normalmente como se faz no Git e volte ao master para ver o que há de novo no repositório central:

git checkout master
git-svn rebase

Com isso ele vai receber as novas alterações do repositório! Agora é a hora de fazer um merge do seu branch com a ultima versão do master:

git merge new_changes

Se tiver algum conflito resolva-os normalmente e agora é hora de enviar as suas alterações novamente ao Google Code:

git-svn dcommit

Pronto! Você está contribuindo para um projeto do Google Code utilizando Git. :D

Há braços

Tags: ,

Sunday, May 10th, 2009 Development

2 Comments to Usando Git em projetos do Google Code

  1. Tudo fica mais simples, não é?

    Eu gosto muito de como o git trata os branches e os merges. Isso é de extrema importância no desenvolvimento de um aplicativo e básico para qualquer controle de versão. O pessoal da empresa onde trabalho reclamou a falta de uma gui, mas realmente não acho que seja necessário.

    Abração!

  2. Carlan Calazans on May 11th, 2009
  3. Æ!!

    Quanto a interface gráfica, já tem o TortoiseGit ( http://code.google.com/p/tortoisegit/ ), que dá para fazer todas as coisas simples do Git.

    Se for usuário Linux que ta pedindo interface gráfica, eu não tenho mais comentários.

    Há braços

  4. PotHix on May 11th, 2009

Leave a comment

My last Tweet

Search