Migration CVS-SVN

[Cet article a été initialement publié le 1 juillet 2006]

Cette semaine, à Ohm Force, avec le retour de Raf, notre développeur Mac, la décision a enfin été prise. Le code des plugins Ohm Force va migrer de Concurrent Version System(le vénérable CVS) au moderne SVN. La conversion s’appuie sur l’outil bien pratique cvs2svn .

L’opération a été longue … le repository CVS fait 9,1Go, cvs2svn m’a généré un dump de 27Go et 10300 commits qu’il a fallu ensuite “rejouer” dans le repository SVN.
Il y a eu quelques soucis : il faut préciser l’encoding des message de commit (cvs2svn –encoding=latin1), et certains fichiers avec de l’accentuation ne sont pas passé dans la moulinette (silencieusement, en plus). Quelques fichier dans les repértoires Attic/ de CVS était corrompus, mais cela n’etait pas grave. Finalement, s’ils sont dans le grenier, c’est pour une bonne raison.

Il a bien fallu 10 heures pour tout convertir (oui, oui, nuit blanche …).

Installation de Trac, et bienvenue au 21e siècle les codeurs !

J’utilise la version 1.1.4 de SVN [UPDATE : depuis le serveur tourne en 1.3.2). Je vais migrer à la dernière version, tant pis pour Debian … En effet je suspecte une fuite mémoire dans certaines conditions. Un processus Apache qui fait 800Mo pendant un checkout, ce n’est pas raisonnable … Il y a quand même 2Go de SDRam ECC qui arrivent par le courrier.

UPDATE : Quelques remarques sur la conversion :

  • Ne pas exécuter le “svnadmin load” en root … c’est mal, et ça bloque l’accès ultérieur au svn via le webdav.
  • Toujours travailler sur des copies du repository CVS. Certains fichiers peuvent être corrompus et il faut parfois les supprimer du CVS.
  • Certains fichiers avec des noms accentués ne sont pas passés dans la conversion. Heureusement, c’était des fichiers mineurs.
%d bloggers like this: