Se lavoriamo solo con un ramo in Subversion, dovremmo preoccuparci? Non possiamo lavorare sul tronco per velocizzare le cose?
Ecco come sviluppiamo con Subversion:
- C'è un trunk
- Creiamo un nuovo ramo di sviluppo
- Sviluppiamo una nuova funzione su quel ramo
- Una volta terminata la funzione, viene unita nel trunk, il ramo viene rimosso e viene creato un nuovo ramo di sviluppo dal trunk
Quando vogliamo rilasciare in produzione, facciamo un tag dal bagagliaio. I bugfix sono fatti su un ramo di quel tag. Questa correzione è quindi unita nel trunk.
Ecco perché creiamo un nuovo ramo di sviluppo dopo che una funzione è stata completata. In questo modo, il bugfix è incluso abbastanza presto nel nostro nuovo codice.
Di seguito è riportato un diagramma che dovrebbe chiarire:
Ora, c'è la sensazione che questo non sia il modo più efficace di lavorare. Costruiamo localmente prima del commit, che richiede circa 5-10 minuti. Puoi capire che questo è vissuto come un lungo periodo di attesa.
L'idea di un ramo di sviluppo è che il trunk sia sempre pronto per il rilascio. Ma questo non è più vero nella nostra situazione. A volte, una funzionalità è quasi pronta e alcuni sviluppatori inizieranno già a codificare la prossima funzione (altrimenti rimarranno seduti in attesa che uno o due sviluppatori finiscano e si uniscano).
Quindi, quando la feature 1 è finita, viene unita nel trunk, ma con alcuni commit della feature 2 inclusa.
Quindi, dovremmo preoccuparci anche del ramo dello sviluppo, dato che abbiamo sempre un solo ramo? Ho letto dello sviluppo basato sul trunk e del branch-by-astrat- ting, ma la maggior parte degli articoli che ho trovato si concentrano sulla parte branch-by-astrstration. Ho l'impressione che si tratti di grandi cambiamenti che si estenderanno su diverse versioni. Questo non è un problema che stiamo avendo.
Che ne pensi? Possiamo lavorare sul bagagliaio? Lo scenario peggiore è (penso) che dovremmo fare un tag dal trunk e selezionare i commit di cui abbiamo bisogno, perché alcuni commit / funzionalità non sono ancora pronti per la produzione.