Se você criar um repositório novo e vazio do SVN, você pode enviar todos os commits do git-svn diretamente para o repo? (não usei git ou git-svn, mas isso é o que eu faria com um dos meus hg repos se eu precisasse colocá-lo em um repositório svn)
Editar: Eu consegui fazer isso funcionar com o rebasing manual via mercurial. A única coisa que parece especial é o rebase manual em vez do rebase automático do svn. Você pode tentar isso no git-svn antes de puxar o mercurial para o mix.
- Crie um novo SVN Repo:
svnadmin create targetSVN
- Confirmar inicialmente no novo repositório do SVN:
svn co file://targetSVN svnCopy
cd svnCopy
touch test
svn add test; svn commit -m "Initial Import"
- Verifique o repo por meio de
hg
:hg clone file://targetSVN hgCopy; cd hgCopy
- Puxe as alterações do git (via
hg-git
):hg pull git://yourrepo.git
- Rebase manual:
hg rebase -s tip -d 0
(0
deve ser o commit inicial do SVN, etip
deve ser o chefe do material que você extraiu do git. Certifique-se de que os changesets do git sejam lineares (não tenham mesclagens!). Substituatip
pelo número atual do changeset da cabeça do git (encontrado viahg heads
) se necessário). Aceite todas as alterações remotas quando perguntar sobre conflitos. -
hg push
até que todas as alterações estejam no svn repo. Empurra 1 changeset de cada vez.