Básico do git-svn

3 Comments

Muito tem se falado sobre o Git, principalmente no mundo Ruby, basta reparar a quantidade de projetos Ruby nas hospedagens de repositórios git pela net.

Acontece que simplesmente ele é muito bom. Eu continuo com meus repositorios subversion aqui na empresa, mas no meu computador, eu uso git para todos os projetos, e no final, basta um git-svn dcommit para enviar para o repositorio central.

Segue abaixo os passos para baixar um repositorio subversion, e mantê-lo atualizado.


git-svn clone http://svn.example.com/project/trunk
# altere seu programa a vontade, faca commits locais, brinque com branches
git commit -m 'alteracao no meu repositorio git local'
# depois que tiver ok, e quiser enviarpara o repositorio subversion
# fique atualizado com o repositório remoto
git-svn rebase
# e depois faça um commit caso esteja tudo ok
git-svn dcommit

-->

  • João Marcus

    Tome MUITO cuidado com o git-svn. Eu já perdi 3 dias de código por causa de bugs que simplesmente removeram commits que eu havia realizado no Git e estava prestes a enviar para o SVN. Do nada, o git-svn decidiu que era legal sumir com commits e mostrar só as últimas alterações feitas no SVN!!! Isso para mim é um bug muito sério que torna o git-svn completamente inútil. Não tem como confiar em uma ferramenta que faz algo tão sério e ridículo…

  • http://enderson.blog.br Enderson

    Eu nunva tive um problema destes. Será que você segui o fluxo correto de trabalho ?

    Explica melhor como aconteceu o problema, pra ver se é realmente um bug, sendo um, já procura saber se não é um bug conhecido.

    Daí é só mandar os detalhes sobre o bug na lista de desenvolvimento (git@vger.kernel.org), e lembrar de pesquisar antes lá ver se este seu problema já não é conhecido.

  • João Marcus

    Depois de muito me debater e procurar a solução, uma pessoa no reddit me mostrou a solução. Era algo relativo à versão do git-svn que eu estava usando. Os commits não foram perdidos, mas não apareciam mais em nenhum log.
    Eu escrevi isso aí porque eu havia “perdido” uma parte considerável de um trabalho que devia se entregue no outro dia. Por um milagre, a demanda urgente foi adiada para, hã, daqui a 1 mês, e consegui recuperar o que havia perdido.
    Enfim, um final feliz. Peço desculpas pelo ataque de raiva, agora voltei a amar o git-svn :)