Nous utilisons actuellement Subversion et TeamCity, nous allons passer à Mercurial (en particulier Kiln car nous sommes des utilisateurs de FogBugz).
Évidemment, cela entraînera des changements - espérons-le, des améliorations - dans nos modèles de développement (tous les deux!), Mais le seul problème avec lequel je me heurte est de savoir comment structurer les choses afin que nous profitions toujours des avantages de l'intégration continue / de notre serveur CI ( qu'il existe et restera des avantages est une donnée, dont la discussion sort du cadre de cette question).
Avec SVN, nous nous engageons à un nombre limité de référentiels centraux - en fait un par projet (plus ou moins une solution Visual Studio) afin qu'il soit facile de déclencher une construction et d'obtenir l'assurance que tous les fichiers ont été validés et qu'il n'y a pas dépendances errantes, etc., etc. Mais si nous voulons tirer parti de mercurial, nous voudrons avoir plus d'instances de référentiel - où je m'attends à ce que les changements se dirigent généralement vers un référentiel "live" définitif. Le problème avec lequel je me bats est que le repo en direct me semble trop "tard" pour déclencher mes builds CI OTOH une build CI par projet par développeur est probablement excessive (et cause d'autres problèmes).
Je pêche un peu mais c'est parce que l'une des choses qu'un dépôt central de subversion donne (moi, avec notre configuration!) Est beaucoup de clarté sur ce qu'il faut construire quand.
nb Je ne pose pas de questions sur la mécanique de l'utilisation de mercurial avec une intégration continue - j'ai ce traitement pour un projet personnel, ses modèles et structures et sa pratique / flux de travail que j'essaie de faire tourner la tête.