Attualmente utilizziamo Subversion e TeamCity, passeremo all'utilizzo di Mercurial (in particolare Kiln poiché siamo utenti di FogBugz).
Ovviamente ciò comporterà cambiamenti - si spera miglioramenti - nei nostri modelli di sviluppo (tutti e due!) Ma l'unico problema con cui mi sto cimentando è come strutturare le cose in modo da godere ancora dei vantaggi dell'integrazione continua / del nostro server CI ( che ci sono e rimarranno vantaggi è un dato, la cui discussione è al di fuori dell'ambito di questa domanda).
Con SVN ci impegniamo a un numero limitato di repository centrali - effettivamente uno per progetto (più o meno una soluzione di Visual Studio), quindi è facile attivare una build e ottenere la sicurezza che tutti i file sono stati sottoposti a commit e che non ci sono dipendenze vaganti, ecc. ecc. Ma se avremo il giusto vantaggio di Mercurial, avremo bisogno di più istanze di repository - dove mi aspetterei che i cambiamenti fluiscano generalmente verso un repository "live" definitivo. Il problema con cui sto lottando è che il repository live mi sembra troppo "in ritardo" per innescare i miei build CI OTOH una build CI per progetto per sviluppatore è probabilmente eccessiva (e causa altri problemi).
Sto pescando un po ', ma è perché una delle cose che un repo centrale di sovversione fornisce (io, con la nostra configurazione!) È molta chiarezza su cosa costruire quando.
nb Non mi sto chiedendo quali sono i meccanismi dell'utilizzo del mercurio con integrazione continua: ho un lavoro da trattare per un progetto personale, i suoi schemi e le sue strutture e la pratica / flusso di lavoro che sto cercando di farmi girare la testa.