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 ?
Réponses
Trop de publicités?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.
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.
-
checkout modulename
cvs -d URL co -P modulename
-
créer un CVSROOT vide nécessaire à cvs2git
mkdir modulename/CVSROOT
-
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)
-
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>',
-
exécuter cvs2git pour créer des fichiers temporaires git
cvs2git --options=cvs2git.options --fallback-encoding utf-8
-
créer un dépôt git
mkdir gitrepo && cd gitrepo && git init .
-
importation depuis les fichiers temporaires git créés par cvs2git
cat ../cvs2git-tmp/git-{blob,dump}.dat | git fast-import
-
vérifier la copie de travail
git reset --hard
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.
Une alternative pourrait être d'utiliser git cvsimport *