Um ein SVN repository nach Git zu migireren nutzt man folgende Kommandozeile:
git svn clone "svn://localhost/b:/dropbox/svn/[Repo]" -s --no-metadata --prefix=origin/ --authors-file=users.txt
Die setzt voraus, dass lokal der svnserv gestartet wurde und außerdem im aktuellen Verzeichnis eine user.txt Datei liegt, deren Inhalt die SVN Benutzer mit den Git Benutzern mappt:
Alex = Alexander Leisentritt <alexander.leisentritt@alitecs.de>
Danach müssen die alten SVN Branches und Tags verschoben sowie der alte trunk gelöscht werden:
cp -Rf .git/refs/remotes/origin/tags/* .git/refs/tags/ rm -Rf .git/refs/remotes/origin/tags cp -Rf .git/refs/remotes/* .git/refs/heads/ rm -Rf .git/refs/remotes cp -Rf .git/refs/heads/origin/* .git/refs/heads/ rm -Rf .git/refs/heads/origin rm -Rf .git/refs/heads/trunk
Anschließend kann das neue Remote origin hinzugefügt werden und mit git push origin --all
und mit git push origin --tags alles dorthin gepusht werden.
Related articles