Project:Infrastructure/SvnGitMigration

, deadline 2014-06-21

= Process =
 * 1) In Gitweb, check if Git path is already taken: Collision or conversion done already?
 * 2) Get SVN store from server (Disable write access in conf/svnserver.conf!). idl0r might help out with a tarball. If non-one can help, dev-vcs/rsvndump can.
 * 3) Check layman for use of (sub paths of) that repository ("layman -L | fgrep svn | fgrep ......")
 * 4) Analyse the SVN store using dev-vcs/svneverever. You're interested in (1) the folders ever existing (especially trunk(s), branches, tags) and (2) the committer nick names (option --committers)
 * 5) In gitolite, Create repo "proj/..." with the active devs out of those past committers
 * 6) Get a svn2git identity map including (current and past) Gentoo devs and some known external SVN contributors (http://git.overlays.gentoo.org/gitweb/?p=proj/userinfo-scripts.git;a=summary)
 * 7) Write a svn2git rules file
 * 8) Run svn2git: svn2git --identity-map identity.txt --rules repo.txt --add-metadata --stats repo_svn
 * 9) Clone the output to have a friendly, non-bare repository. Do a git repack?
 * 10) Inspect result, correct mistakes, do another run until good enough. Tags and branches should "feel right". (If tags get complicated, may this helps: http://git.goodpoint.de/?p=git-move-tags-up.git;a=summary)
 * 11) Add target remote ("git remote add overlays-gentoo-org git+ssh://git@git.overlays.gentoo.org/proj/REPO.git") and push.

= Status =