Nella società in cui lavoro, supportiamo due versioni del software che sviluppiamo. Una versione è disponibile per i clienti e una versione in cui gli sviluppatori stanno sviluppando nuove funzionalità. La versione disponibile per i clienti è anche cambiata dagli sviluppatori, per correggere i bug che i nostri clienti hanno trovato.
Quindi, ad esempio, abbiamo una versione 4.1 disponibile per i clienti e stiamo sviluppando 4.2. Non appena rilasciamo 4.2, 4.1 viene chiuso e iniziamo a sviluppare su 4.3.
Attualmente abbiamo due tronchi, uno per ogni versione che è aperta per lo sviluppo. Ogni volta che viene risolto un bug nella versione rilasciata, dobbiamo unirlo alla nuova versione. Questo è un lavoro extra. Accanto a questo, vorremmo lavorare in anticipo, e avere una versione già finita 'sullo scaffale', e già iniziare su una nuova versione. Il che significherebbe se risolviamo un bug nella versione rilasciata, dovremmo unirlo in tre tronchi!
C'è un modo migliore di strutturare questo ed eventualmente eliminare le unioni duplicate? Stiamo facendo qualcosa di completamente sbagliato?
Grazie in anticipo.