Atomique s'engage et les révisions sont ma plus grande saisines contre ClearCase. Disons que vous vérifiez dans cinq fichiers dans le cadre d'une correction de bug ou de refactoring. Ensuite, il est découvert que quelque chose s'est foiré et vous avez besoin de revenir. Bonne chance pour trouver les cinq fichiers qu'ils sont et quelle est la version de chacun , on doit être sur. Mais prenons un peu de recul. Vous venez de finir d'éditer ces cinq fichiers, et il est temps de s'engager. Les quatre premiers de l'amende. Ce dernier nécessite un massif de fusion. Les quatre autres fichiers sont déjà enregistrés. Ils ne le font pas attendre que vous ayez fini vos modifications nécessaires dans le dernier fichier. Bien sûr, j'espère qu'aucune mise à jour ou à l'aide d'un point de vue dynamique. Une intégration continue de serveur de build est voué à l'échec.
Parfois, nous faisons un tout nouveau répertoire plein de fichiers qui doivent être enregistrés, mais nous ne voulons pas de vérifier eux jusqu'à ce qu'ils sont fait. C'est le début et tout est toujours volatile, alors pourquoi vérifier les choses dans ce que vous pourriez supprimer très bientôt? OK, très bien jusqu'à présent. Maintenant, il est temps de vérifier. Vous ajoutez le dossier nouvellement créé à la source de contrôle. Eh bien, ClearCase n'est pas récursive, donc seulement que seul dossier est archivé. Avec SVN, le dossier et tout ce qui est ajouté, que vous choisissez. Le développeur doit rappeler à tout ajouter, sinon, beaucoup de fichiers vont être manquant.
ClearCase possède les fichiers et dossiers, donc vous ne pouvez pas modifier quoi que ce soit, sauf si vous avez vérifié en premier. Le plugin eclipse enlève beaucoup de la nuisance ici. Je ne peux pas vous dire combien de fois j'ai ouvert un fichier dans la vi de faire un changement rapide, seulement pour trouver que j'avais oublié de le vérifier en premier. La caisse n'est pas récursive.
Les mises à jour peuvent être douloureusement lent sans révisions. Lorsque vous mettez à jour un aperçu, toutes les mises à jour de fichiers, et pas seulement les fichiers modifiés. J'ai travaillé sur un projet avec plus de 20 000 fichiers. Je voudrais à distance à mon travail de la machine, lancer la mise à jour, puis voiture à leur travail; prendre un café; aller à mon bureau alors qu'il était de finir. Cela peut paraître comme une exagération, mais il n'est malheureusement pas le cas.
Les vues dynamiques sont terribles, sauf si vous êtes dans une très petite équipe. Et si c'est le cas, pourquoi ne vous ont même ClearCase? J'ai vu d'innombrables points de vue des gens arriver arrosé parce que quelqu'un a vérifié dans les fichiers qui ont battu les points de vue de tout le monde. Vous devez toujours mettre à jour et de fusionner tous les conflits sur votre propre point de vue. De cette façon, les changements ne vous touchent. Avec un point de vue dynamique, vous ne pouvez pas fusionner vers le bas avant de le pousser en arrière; vous engager et d'espoir.
Je sais que le coût n'est probablement pas une grande préoccupation, mais les développeurs qui font de l'argent pour l'entreprise serait de profiter de dépenses de $50k-100k$(selon ClearQuest licence, qui est une commune de plus) sur les événements amusants ou des nouveaux équipements (chaises, écrans, etc.). IBM recommande de personnel et de le garder ClearCase va. Pourquoi ne pas re-but de ces gens est de générer des revenus pour la société, au lieu de s'assurer que les choses ne crash et brûler?
Certaines des raisons que j'ai entendu pour ne pas passer:
- L'apprentissage va prendre du temps et de l'argent
- L'apprentissage SVN, Mercurial ou ne devrait pas prendre plus d'une journée. Seulement ClearCase suggère de faire une certaine proportion des admins pour les développeurs.
- La Migration sera douloureux
- Sécurité
- Il n'existe pas de trous béants dans SVN autant que je sache, et l'équipe de développement est consacrée à la fixation de tout ce qui est trouvé rapidement. Le Ministère de la Défense semble OK avec SVN.
- Pas de réel gain de productivité par la suite
- Il faut toujours essayer de traquer les bugs sans révisions. J'aime être en mesure de faire reculer jusqu'à ce que je ne vois pas le bug. Vous ne pouvez pas le faire dans ClearCase.