63 votes

Existe-t-il un outil de migration de CVS vers Git ?

J'ai l'intention de passer de CVS à Git. Dans le cas de SVN, il semble y avoir cvs2svn . Existe-t-il un outil similaire pour migrer facilement de CVS à Git ?

32voto

Jakub Narębski Points 87537

Le seul outil qui a incrémentiel L'importation semble être git-cvsimport . Si vous voulez convertir ( migrer ) de CVS à Git, la meilleure solution pour le moment semble être celle mentionnée ci-dessus mode cvs2git de cvs2svn .

Voir aussi Interfaces, interfaces et outils page sur le wiki Git, section sur l'interaction avec d'autres systèmes de contrôle de révision.

18voto

Vanuan Points 4751

cvs2git

En plus des réponses fournies, voici un guide sur la façon de convertir cvs en git en utilisant l'outil cvs2git. Ici, modulename est le nom du répertoire CVS que vous voulez importer.

  1. checkout modulename

    cvs -d URL co -P modulename
  2. créer un CVSROOT vide nécessaire à cvs2git

    mkdir modulename/CVSROOT
  3. télécharger un exemple de cvs2git.options à l'adresse http://cvs2svn.tigris.org/svn/cvs2svn/trunk/cvs2git-example.options (utilisateur "guest" sans mot de passe)

  4. modifier le fichier cvs2git.options. Remplacer r'test-data/main-cvsrepos' par 'modulename'. Modifier les transformations des auteurs.

    # edit this
    run_options.set_project(  r'modulename',
    
    # and this
    author_transforms={
        'jrandom' : ('J. Random', 'jrandom@example.com'),
        'mhagger' : 'Michael Haggerty <mhagger@alum.mit.edu>',
  5. exécuter cvs2git pour créer des fichiers temporaires git

    cvs2git  --options=cvs2git.options --fallback-encoding utf-8
  6. créer un dépôt git

    mkdir gitrepo && cd gitrepo && git init .
  7. importation depuis les fichiers temporaires git créés par cvs2git

    cat ../cvs2git-tmp/git-{blob,dump}.dat | git fast-import
  8. vérifier la copie de travail

    git reset --hard

13voto

bdonlan Points 90068

cvs2svn a un cvs2git mode.

10voto

user2603340 Points 21

Si quelqu'un a encore le malheur d'utiliser CVS, vous pouvez essayer "crap" : https://github.com/rcls/crap Il est rapide (pour autant que l'accès à CVS puisse être rapide), prend en charge les désordres que l'on trouve dans les dépôts cvs, et est incrémental.

7voto

ralphtheninja Points 24346

Une alternative pourrait être d'utiliser git cvsimport *

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X