La meilleure façon d'habituer les utilisateurs CVS à Subversion est certainement de les laisser continuer à travailler sur leurs projets en utilisant le nouveau système. Et, bien que cela puisse être fait par un import « à plat » dans le dépôt Subversion d'un dépôt CVS exporté, la solution la plus aboutie implique de transférer d'un système à l'autre non seulement la dernière version des données mais aussi tout l'historique qui va avec. C'est un problème particulièrement ardu ; cela implique, parmi d'autres complications, de déterminer les modifications qui vont ensemble, en l'absence d'atomicité et de mécanisme de conversion entre les politiques totalement contradictoires de gestion des branches des deux systèmes. Néanmoins, il existe quelques outils qui se prétendent capables de convertir, au moins en partie, des dépôts CVS en dépôts Subversion.
L'outil le plus populaire (et le plus abouti) est cvs2svn (http://cvs2svn.tigris.org/ site en anglais), un programme en Python créé à l'origine par des membres de la communauté de développement Subversion elle-même. Cet outil n'est censé être lancé qu'une seule fois : il analyse votre dépôt CVS en plusieurs passes et essaie d'en déduire des propagations, des branches et des étiquettes autant qu'il le peut. Au final, le résultat est soit un dépôt Subversion soit un fichier dump Subversion représentant l'historique du code. Consultez le site web pour le détail des instructions et les précautions d'usage.