Nel progetto su cui sto lavorando, stiamo utilizzando SVN con la strategia 'Stable Trunk'. Ciò significa che per ogni bug rilevato, il QA apre uno bug ticket
e lo assegna a uno sviluppatore. Poi, uno sviluppatore corregge il bug e controlli in un ramo (off tronco, chiamiamolo questo il bug branch
) e quel ramo si conterrà solo correzioni per quel particolare bug ticket
Integrazione continua con sviluppo di più diramazioni in Subversion
Quando abbiamo deciso di fare un comunicato, per ogni correzioni di bug che vogliamo rilasciare al cliente, uno sviluppatore unirà tutte le correzioni da diversi bug branch
a trunk
e procederà con il normale ciclo di QA.
Il problema è che usiamo trunk
come il codice di base per il nostro lavoro CI (Hudson, in particolare), e quindi, per tutti i commit al bug branch
, che salterà la build giornaliera fino a quando non viene fusa per trunk
quando abbiamo deciso di rilascia la nuova versione del software. Ovviamente, ciò sconfigge lo scopo di avere CI.
Qual è il modo corretto per risolvere questo problema?
Direi che avresti impostato CI per le tue filiali, ma scommetto che ne hai troppe. Sai che hai una politica piuttosto insolita su questo. Non è tipico creare 1 ramo per correzione di bug, specialmente con SVN. –