Pour répondre à la question de la migration à partir de l'expérience personnelle de plusieurs migrations:
N'ayez pas peur de simplement mettre la version actuelle du logiciel dans le nouveau système de contrôle de source comme ligne de base et de travailler à partir de là.
La grande majorité du temps, vous n'aurez pas besoin de l'historique. Cela signifie que c'est une tâche de moins à effectuer pendant l'intégration et une chose de moins à se tromper.
Les fichiers / projets en développement actif vont bientôt générer une nouvelle histoire. Ainsi, lorsque vous devez savoir pourquoi un changement a été effectué, il est probable que l'historique se trouve dans le référentiel actuel, car il s'agit d'un changement récent.
Les fichiers / projets qui étaient stables avant la migration devraient (toutes choses étant égales par ailleurs) rester stables après la migration, vous n'aurez donc pas besoin de vous référer à l'historique. Nous avons constaté que si nous devions enquêter sur un bogue dans un fichier ou un projet aussi ancien, l'historique n'avait vraiment aucun avantage. Tant que vous gardez l'ancien référentiel disponible pendant 6 mois / an, vous aurez la référence dans de tels cas.
Du côté managérial, il s'agit principalement de:
C'est malheureusement l'une des principales raisons pour lesquelles de tels produits obsolètes comme ClearCase sont toujours pris en compte (ClearCase étant depuis 2003 un ... produit IBM )
Côté projet, il s'agit aussi de:
Freeware ou pas, rappelez-vous qu'un logiciel "gratuit" est gratuit comme dans "Free Speech" (vous êtes libre de choisir et de déployer celui que vous voulez), pas comme dans "Free Beer" (cela coûtera toujours beaucoup d'argent sur le serveur). , sauvegarde, administration, support, ...)
Les critères mentionnés ci-dessus sont un début pour déterminer quel VCS garder, quoi abandonner.
Mais dans ce dernier cas, vous devez considérer:
la source
Avez-vous vraiment besoin d'intégrer différents systèmes? Dans notre équipe, chaque projet vit dans son propre référentiel, et leurs histoires sont donc indépendantes. Nous n'avons aucun problème ici à travailler avec certains projets en subversion et d'autres sous mercurial, même s'il y a des dépendances entre eux.
Si vous choisissez de migrer d'un VCS à un autre, regardez les outils de conversion disponibles. D'après mon expérience, il n'y a aucune raison technique de laisser tomber l'historique des projets.
Éditer
Je pense avoir compris quelque chose, qui était implicite dans la question et dans d'autres réponses. C'est le fait que VCS est également utilisé pour gérer les dépendances. Je sais qu'il est assez courant d'utiliser des fonctionnalités VCS comme
svn:externals
pour intégrer un dépôt (la dépendance) à un autre.Je pense que la raison (technique) pour laquelle notre équipe ne ressent pas le besoin de relier (ou d'intégrer) nos 2 systèmes différents est que nous avons un outil séparé pour gérer les dépendances. Notre repo ne se connaît pas.
la source
Beaucoup de bonnes réponses. Une autre chose à penser est de ne pas laisser les membres de l'équipe s'en tirer en pensant que changer de VC est un gros problème. Il y aura un revers avec la migration, une courbe d'apprentissage, etc., mais s'ils ont trop de problèmes, ils doivent remettre en question leur niveau de capacité et / ou de coopération.
la source