I'd love to be able to use a dedicated transition tool of the quality FreeBSD would like and need.
From [0]:
> The software used for the conversion is a slightly modified fork of svn2git, as used by the KDE project.
> It requires a rules file to map svn trees and/or revisions to git branches or tags. The current rules don't make use of tags but simply store them as branches.
> See the project branch at http://svn.freebsd.org/base/user/uqs/git_conv/ for extra patches, rules and the scripts used to do these conversions.
--
Haven't used it myself though; I just noticed that ESR has spent considerable effort in creating reposurgeon.
Also, most conversion tools will handle the most common cases OK, and only generate garbage in oddball situations. They don't print out a warning when the oddball situations happen, so unless you go back and look at every commit you'll never notice the damage. Most of those situations only happen because of accidents, like creating a Subversion branch the wrong way, then deleting it and making it the correct way. Or adding files to a CVS repository by copying ,v files from a different CVS repository.