2012-06-04 23 views
12

creé un espejo git de un repositorio SVN haciendo:Actualización de un espejo git de un repositorio SVN

  • Crear una nueva operación en github
  • espejo mkdir & & cd espejo
  • git svn init [url sVN] sVN
  • git fetch -rHEAD
  • git remote add origen [url github]
  • git svn rebase
  • git maestro push origin

Esto funciona muy bien, y puedo actualizarlo con simplemente:

  • svn git rebase
  • origen git push maestro

Sin embargo, si Me muevo a una computadora diferente y quiero actualizarlo, lo intenté:

  • git clone [url github]
  • git svn init [url SVN] SVN
  • git fetch -rHEAD
  • git remote add origen [url github]
  • svn git rebase

pero aquí me sale:

"No se puede determinar la información de SVN aguas arriba de trabajar la historia del árbol"

¿Alguien puede explicar la forma correcta de hacer esto?

+1

, de hecho, sólo se puede empujar rama del tronco de SVN La rama maestra de repo a git, el problema es cómo empujar todas las ramas de svn al repositorio de git remoto. – hugemeow

Respuesta

10

que tenían la misma necesidad y, finalmente encontró un ejemplo aquí:

http://rip747.wordpress.com/2009/06/17/reviving-a-git-svn-clone/

de responder en el contexto de su pregunta:

git clone [github url] 
cd repo 
git svn init [svn url] 
git update-ref refs/remotes/git-svn refs/remotes/origin/master 
git svn rebase 
+0

Hum Obtuve un error "No se pudo determinar la información de SVN en sentido ascendente desde el historial de árbol de trabajo" –

+4

Resuelto al anexar '/ trunk' a la url de svn –

Cuestiones relacionadas