Migration de CVS à SVN avec cvs2svn

référence : http://cvs2svn.tigris.org/cvs2svn.html

Pour cela, il faut un accès direct (ssh par exemple) à la machine qui héberge le ou les repositories CVS à migrer. Il faut aussi sur cette machine un interpréteur python 2.4 ou supérieur. Il faut la commande cvs (ou rcs) et un gnu sort qui est souvent déjà installé sur votre linux préféré.

Sur la machine CVS,

On télécharge l'utilitaire cvs2svn :

cd /home/cvsd
wget http://cvs2svn.tigris.org/files/documents/1462/44372/cvs2svn-2.2.0.tar.gz


On fait une copie par précaution du repository à migrer :

cp -R repocvs/ repocvs2
mkdir tmp
mv repocvs2 tmp/
cd tmp


Et on lance la migration complète :

cvs2svn --fallback-encoding=utf_8 ./reposvn repocvs2

Ca mouline un moment selon la taille du repository initial et on obtient un repository reposvn

Sur la machine SVN,

On importe le repository fraichement migré :

cd /home/svn/repo
scp -r login@cvs.host.net:/home/cvsd/tmp/reposvn .
sudo chown -R www-data:www-data reposvn


Et on donne les accès dans le fichier access
sudo nano ../access
[svnrepo:/]
@dev = rw
* = r


Et on n'oublie pas au final de faire le ménage sur la machine CVS
cd /home/cvsd/tmp
rm -R *


Comments