Question

Je cherche un moyen de joindre deux historiques de révision pour un seul fichier.

Un de nos projets a été suivi via RCS. Maintenant, ce projet vit dans CVS. Il a été initialement engagé en tant que nouveau projet. En conséquence, l'historique CVS ne montre pas les révisions plus anciennes suivies via RCS.

Par exemple, supposons que le fichier foo.c ait été révisé 10 fois dans RCS, puis 2 fois dans CVS. RCS contient les versions 1.1 à 1.10 et CVS, les versions 1.1, 1.2 et 1.3. RCS version 1.10 et CVS version 1.1 sont identiques.

J'essaie de créer un historique combiné tel que foo.c montre 12 versions, 1.1 à 1.12. Étant donné que CVS stocke les révisions dans le même format de fichier que RCS, il suffit simplement de commencer par le fichier RCS existant, puis d’enregistrer les nouvelles modifications à l’aide de la touche "ci". commande (en préservant les horodatages, les ID d’utilisateur et les messages de validation). Toutes les balises CVS doivent également être préservées. Ce nouveau fichier RCS aurait alors l'historique complet, qui pourrait ensuite être ajouté au référentiel CVS, en remplacement de l'ancienne version.

Supposons qu'il n'y a pas de branches dans cette base de code. Juste développement en ligne droite.

Un tel utilitaire existe-t-il déjà?

Était-ce utile?

La solution

Je viens d'écrire une bibliothèque Python, EditRCS ( PyPi ), pour manipuler les fichiers RCS. L’exemple de script rcs_join joint la première révision d’un fichier RCS à l’en-tête d’un autre fichier et met à jour les révisions de branche et de balise.

J'espère que cela fait ce que vous voulez (même s'il est probablement trop tard maintenant!)

Autres conseils

S'il s'agit d'un fichier unique et que vous ne devez pas transférer un grand nombre de révisions, vous pouvez toujours extraire d'une révision à l'autre l'ancien système de gestion des versions et le valider dans le nouveau système de gestion des versions (la plupart des métadonnées du système de gestion des versions peuvent co -existe dans le même répertoire) & # 8230; cette méthode fonctionne, bien sûr, quel que soit le système de gestion de versions source et cible et c’est ce que j’ai fait personnellement lorsque j’avais un problème similaire au vôtre.

Vous pouvez également utiliser l'outil Tailor , qui permet de convertir de / vers plusieurs systèmes de gestion de versions, Je ne sais pas vraiment s'il peut également "fusionner". deux histoires différentes en une seule comme vous le souhaitez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top