2010-07-08 5 views
5

Ich habe die Quellen eines Projekts mit Git geklont, die auf dem Server von einem SVN Repo konvertiert wird. Das Problem mit diesem Git-Repository besteht darin, dass es keine Tags, Verzweigungen und einige Revisionen gibt. Die Anzahl der Revisionen ist enorm (~ 20000) für mich, um git-svn-Klon zu verwenden, und es wäre eine Verschwendung von Bandbreite und Zeit, da ich bereits die meisten Objekte in meinem lokalen Repo habe. Aus diesem Grunde würde ich gerne wissen:Verwenden Sie git-svn mit einem vorhandenen Repo fehlt .git/svn/

  • Wie kann ich meine Git-Repository zu einer git-svn Repo konvertiere direkt aus dem SVN Repo anstelle der gebrochenen Git-Repo zu aktualisieren.
  • Kann ich die fehlenden Revisionen abrufen, ohne alles klonen zu müssen?
  • Ist es möglich, Tags mit Git direkt herunterzuladen?
  • Werden diese Zweige ein zusätzliches Problem sein?

Antwort

8
  • Letting git-SVN übernehmen Ihre Klon ist einfach; Führen Sie einfach git svn init mit den gleichen Argumenten aus, die Sie im ursprünglichen Repo verwendet haben, und dann sollte Ihre git svn fetch die bestehenden Commits im Repo finden.

  • Das Hinzufügen der Verzweigungen kann nicht ohne eine ernste Repo-Operation durchgeführt werden: Sie müssten einen Großteil Ihres Verlaufs neu schreiben, um die Verzweigungen in die Verzweigung aufzunehmen.

  • Ziehen Tags ist einfach und ich glaube, dass nach dem ersten Repo-Klon getan werden kann.