45 votes

Migrer un projet de RCS vers git ?

J'ai un Un projet vieux de 20 ans que je voudrais migrer de RCS vers git, sans perdre l'historique. Toutes les pages web suggèrent que la seule vraie voie est celle de CVS. Mais après une heure de recherche sur Google et l'essai de différents scripts, je n'ai pas encore trouvé quelque chose qui avec succès convertit mon arbre de projet RCS en CVS. J'espère que les bonnes gens de Stackoverflow sauront ce qui fonctionne réellement, par opposition à ce qui est prétendu fonctionner et ne fonctionne pas.

(J'ai fait des recherches sur Stackoverflow en utilisant à la fois la recherche SO native et une recherche Google, mais s'il y a une réponse utile dans la base de données, je l'ai manquée).

UPDATE : Le site rcs-fast-export outil à http://git.oblomov.eu/rcs-fast-export a été réparé le 14 avril 2009, et cette version semble fonctionner pour moi. Cet outil convertit droit à git sans CVS intermédiaire. Merci Giuseppe et Jakub ! !!


Des choses qui n'ont pas fonctionné et dont je me souviens encore :

  • En rcs-to-cvs script qui est livré avec le logiciel contrib répertoire des sources CVS

  • En rcs-fast-export outil à http://git.oblomov.eu/rcs-fast-export dans les versions antérieures au 13 avril 2010

  • En rcs2cvs script trouvé dans un document appelé "CVS-RCS- HOW-TO Document for Linux"

6 votes

Si vous avez trouvé de nombreuses façons no Je pense qu'il serait judicieux de dresser la liste des méthodes qui n'ont pas fonctionné afin que personne ne perde plus de temps :)

0 votes

Par ailleurs, certaines personnes considèrent que le meilleur moyen de passer de CVS (une fois que vous y êtes) à git est de passer par subversion. stackoverflow.com/questions/881158/

0 votes

Pourquoi exactement devez-vous garder l'histoire ?

0voto

Flux Points 729

Je développe ici la réponse d'Edward Falk en convertissant trivialement de RCS à CVS, puis en convertissant CVS à Git. Cet exemple utilise git-cvsimport pour convertir de CVS en Git, mais toute autre méthode de conversion de CVS en Git devrait fonctionner.

mkdir $HOME/mydir/  # Any directory name will do.
cd $HOME/mydir/
cvs -d $HOME/mydir/ init

# Trivially import an RCS project into CVS.
cp -a /path/to/_projectname_/RCS $HOME/mydir/_projectname_

# Convert the CVS project to Git.
git cvsimport -d $HOME/mydir/ -C mynewgitrepository _projectname_

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