Stiamo pianificando di sviluppare presto un progetto API Web ASP.NET. Per il controllo del codice sorgente usiamo svn. In genere seguiamo il modello del tronco che è stabile e che fa tutto il nostro lavoro nei rami.
Il più delle volte siamo fortunati che uno sviluppatore stia lavorando al progetto. Per questo progetto di API Web ci sono almeno due, forse tre sviluppatori che lavorano su parti differenti. Con ciò intendo che si potrebbe lavorare su un set di controller per lavorare con modelli di documenti mentre l'altro sviluppatore sta lavorando su un controller o controller per l'autenticazione e la manutenzione degli utenti.
Visto che questi due non dovrebbero avere lavori sovrapposti quali vantaggi / svantaggi per entrambi gli sviluppatori che lavorano su un singolo ramo con "aggiornamenti alla versione più recente" per mantenere coerenti entrambe le copie di lavoro rispetto a ogni sviluppatore che lavora su un singolo ramo e unendo il due rami tornano nel bagagliaio quando sono completi?
Mi sembra che un singolo ramo sarebbe meglio in quanto gli aggiornamenti quotidiani manterranno ogni sviluppatore su ciò che l'altro sta facendo e questo può aiutare a condividere il codice. La mia preoccupazione principale è l'esecuzione di tentativi ed errori di codifica. Cosa succede quando viene commesso un codice che probabilmente non dovrebbe essere abbattuto dall'altro sviluppatore? Questo dovrebbe essere un problema?
Un altro pensiero che ho avuto è stato che con ogni sviluppatore che ha il proprio ramo se uno sviluppatore ha un codice che l'altro può usare è abbastanza stabile, lo uniamo al tronco. Quindi gli sviluppatori si aggiornerebbero quotidianamente dal trunk.
Finalmente ho pensato che potremmo creare un ramo per questo "set di funzionalità" e quindi ogni ramo di sviluppo da quel ramo. Spingono quindi le funzionalità stabili al ramo principale e aggiornano quotidianamente dal ramo principale. Ciò manterrebbe il bagagliaio pulito e stabile fino al rilascio del set di funzionalità.
Questi sono i miei pensieri e mi dispiace per la lunga domanda. Voglio davvero iniziare questo progetto e qualsiasi consiglio sarebbe molto apprezzato.