Abbiamo una struttura ramificata di:
- più rami dev per ciascuna nuova funzionalità principale
- Filiale principale, incorporata da un ramo dev una volta che una funzione è pronta per il test
- Rilasciare il ramo, unificato in Main dopo che una funzione è pronta per la produzione
Spesso abbiamo nuove funzionalità completate all'incirca nello stesso momento che finiscono in Main, con lo stesso codice sorgente modificato. Quindi la caratteristica A può essere dichiarata pronta per la produzione e deve essere distribuita, mentre la caratteristica B richiede più lavoro.
Una volta che le modifiche sono state incorporate in Principale, in particolare con più revisioni delle funzioni A e B, la loro identità come funzioni separate viene persa . Diventa quindi rischioso e difficile da promuovere solo uno di questi alla produzione. Usiamo TFS e non so se questo è uno dei suoi limiti.
Qual è il modo migliore per risolvere questo problema? Dovremmo utilizzare una diversa strategia di ramificazione o un DVCS risolverlo?