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 logicielcontrib
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 ?
13 votes
Pourquoi les gens gardent-ils l'histoire ? Je suis un scientifique et un ingénieur et j'étudie les logiciels. Un artefact avec 20 ans d'histoire représente des données irremplaçables !
1 votes
Après avoir lu cet article, j'ai pu convertir un dépôt RCS (avec un seul fichier) en git. Pour les nouveaux venus, les commandes Unix suivantes peuvent vous aider à démarrer. Assurez-vous que ruby et git sont installés. Allez dans le répertoire contenant votre fichier virgule-v (appelé quelque chose comme fichier.txt,v). Tapez "git --bare init" pour créer un dépôt git nu. Tapez "ruby your/path/to/rcs-fast-export.rb | git fast-import".
1 votes
Lorsque j'ai converti des dépôts RCS en CVS, j'ai simplement créé un dépôt CVS et copié le dépôt RCS.
*,v
dans celui-ci. Un dépôt CVS est essentiellement une arborescence de répertoires avec un tas de fichiers de style RCS.*,v
dans celui-ci. Le siteCVSROOT
est spécial, mais il est créé lorsque le référentiel CVS est créé.0 votes
Assurez-vous d'utiliser 'git config --global user.name "yourname"', en remplaçant votre nom par votre identifiant d'utilisateur GIT. Si vous ne le faites pas, vous aurez un échec dans le script sur les machines Windows. Quelque chose à voir avec "gecos".