Wenn Sie ein neues, leeres SVN-Repo erstellen, können Sie alle Commits von git-svn direkt in das Repo verschieben? (habe nicht git oder git-svn verwendet, aber das würde ich mit einem meiner hg-repos tun, wenn ich es in ein svn-repo bringen müsste)
Edit: Ich habe es geschafft, dies mit der manuellen Umbasierung via Mercurial zu erreichen. Das einzige, was speziell erscheint, ist die manuelle Erneuerung anstelle der automatischen svn-Ersetzung. Sie könnten das in git-svn versuchen, bevor Sie Quecksilber in die Mischung ziehen.
- Neues SVN-Repo erstellen:
svnadmin create targetSVN
- Erstes Commit für neues SVN-Repo durchführen:
svn co file://targetSVN svnCopy
cd svnCopy
touch test
svn add test; svn commit -m "Initial Import"
- Überprüfen Sie den Repo-Versand über
hg
:hg clone file://targetSVN hgCopy; cd hgCopy
- Änderungen von git (via
hg-git
) einlesen :hg pull git://yourrepo.git
- Manual rebase:
hg rebase -s tip -d 0
(0
sollte das erste SVN-Commit sein undtip
der Kopf des Materials sein, das Sie aus git gezogen haben. Stellen Sie sicher, dass die Git-Changesets linear sind (keine Zusammenführungen!). Ersetzen Sietip
die tatsächliche Changeset-Nummer des Git-Kopfs (gefunden viahg heads
) falls erforderlich). Akzeptieren Sie alle Remote-Änderungen, wenn Sie nach Konflikten gefragt werden. hg push
bis alle Änderungen im svn repo sind. Es wird jeweils 1 Änderungssatz gedrückt.