-= LiflForge =-

Migration depuis un dépôt CVS

Il est possible de transférer un dépôt CVS hébergé par le LIFL vers un dépot SVN de LiflForge avec conservation de l'historique des modifications. Les différences de concepts entre ces 2 systèmes rendent cependant impossible une migration à l'identique :

  • CVS gère un numéro de version par fichier. Lors d'un commit, le numéro de version de chaque fichier modifié est incrémenté. Le numéro de version des fichiers non modifiés n'est pas incrémenté. Le message de log est associé à chacun des fichiers modifiés.
  • SVN regroupe au sein d'une même révision l'ensemble des modifications apportées (notion de Changeset). Lors d'un commit, le numéro de révision de l'ensemble du dépôt est modifié. Le message de log est associé au changeset.

Il existe aussi une grande différence au niveau de la gestion des tags et des branches, mais son impact sur la migration est moins important.

Lors d'une migration de CVS vers SVN, il est donc nécessaire de retrouver les fichiers qui ont été modifiés ensemble (c'est-à-dire lors d'un même commit) afin de les regrouper au sein d'un même changeset SVN (i.e. au sein d'une même révision).

Parmi les outils que nous avons testé, cvs2svn semble être celui qui réussi le mieux cette migration. Cet outil nécessite cependant d'avoir un accés direct aux répertoires contenant les dépots CVS et SVN. Pour des migrations simples (à l'identique), vous pouvez en faire la demande aux administrateurs système du LIFL. Pour des migrations plus complexes, nous vous fournirons un tar.gz du dépot CVS à partir duquel vous créerez un dump SVN que nous chargerons ensuite sur LiflForge.

Utilisation de cvs2svn

cvs2svn possédant de nombreuses options (conversion partielle, exclusion de branches, renommage…), veuillez consulter la documentation de cvs2svn afin de définir la migration que vous désirez effectuer.

Example d'utilisation simple :

  • placer le dépot CVS dans un répertoire 'cvs_repos'
  • choisir le module CVS à convertir (appelé ici 'cvs_module')
  • commande à utiliser : cvs2svn —dumpfile=./svn_repos.dump —fallback-encoding=latin_1 ./cvs_repos/cvs_module

Le fichier svn_repos.dump contient le dump SVN à nous fournir.

Utilitaires

Les utilitaires suivant permettent de manipuler un dump SVN. Ils peuvent être utile pour vérifier le résultat de la migration :

  • svndumptool permet, entre autre, de lister le contenu du dump et d'afficher les logs de révision.
Last modified 4 years ago Last modified on 01/29/13 12:20:31