Wir verwenden derzeit Subversion und TeamCity, wir werden Mercurial verwenden (speziell Kiln, da wir FogBugz-Benutzer sind).
Dies wird natürlich zu Änderungen - hoffentlich zu Verbesserungen - in unseren Entwicklungsmustern führen (wir beide!), Aber ich habe Schwierigkeiten damit, die Dinge so zu strukturieren, dass wir immer noch die Vorteile einer kontinuierlichen Integration / unseres CI-Servers genießen ( dass es Vorteile gibt und auch bleiben wird, ist eine Selbstverständlichkeit, deren Erörterung außerhalb des Rahmens dieser Frage liegt.
Mit SVN legen wir eine begrenzte Anzahl zentraler Repositorys fest - effektiv eines pro Projekt (mehr oder weniger eine Visual Studio-Lösung), sodass Sie auf einfache Weise einen Build auslösen und die Gewissheit gewinnen können, dass alle Dateien festgeschrieben wurden und keine vorhanden sind Streuabhängigkeiten usw. usw. Aber wenn wir die Vorteile von Quecksilber nutzen wollen, werden wir mehr Repository-Instanzen haben wollen - wo ich erwarten würde, dass Änderungen im Allgemeinen in Richtung eines definitiven "Live" -Repo fließen. Das Problem, mit dem ich zu kämpfen habe, ist, dass das Live-Repo zu spät zu sein scheint, um meine CI-Builds auszulösen. OTOH Ein CI-Build pro Projekt und Entwickler ist wahrscheinlich übermäßig (und verursacht andere Probleme).
Ich fische ein bisschen, aber das liegt daran, dass eines der Dinge, die ein zentrales Subversion-Repo (ich, mit unserem Setup!) Gibt, viel Klarheit darüber ist, was wann gebaut werden soll.
nb Ich frage nicht nach der Mechanik der Verwendung von Quecksilber mit kontinuierlicher Integration - ich habe das Vergnügen, ein persönliches Projekt, seine Muster und Strukturen und Arbeitspraktiken / Arbeitsabläufe zu bearbeiten, die ich mir überlegen möchte.