La mia squadra sta appena iniziando con Mercurial e un repository centrale. Abbiamo Hudson che costruisce la punta del ramo "predefinito", che è fondamentalmente la nostra linea principale. Avevamo una politica di check-in con il nostro vecchio VCS che le revisioni del codice, i test, ecc. Devono essere eseguiti prima di effettuare il check-in sulla linea principale.Flusso di lavoro mercuriale per gli sviluppatori ~ 15 - Dovremmo utilizzare le filiali denominate?
Quindi, diciamo che stai lavorando sulla funzione X. Lavori su alcune cose, basandole su "default", e poi commetti una funzione parziale come checkpoint. Localmente il tuo "default" è ora rotto - non lo hai ancora condiviso con nessuno, ma se dovessi fare una spinta, beh ora hai il codice rotto in mainline.
Anche se si aspetta di spingere fino a quando non è stato risolto tutto, sembra che ci siano situazioni (ad esempio lavorando su due cose contemporaneamente) in cui è necessario spingere alcune modifiche ma non tutte.
Inoltre, se si verificano tutte le modifiche del checkpoint, verranno apportate alcune revisioni nella riga principale che viene creata e altre nella linea principale che non vengono create.
Abbiamo iniziato a utilizzare i rami denominati, ma più mi sto leggendo, più penso che stiamo usando male i rami nominati.
Qualche suggerimento su come impostare un buon flusso di lavoro che ci consenta di eseguire Hudson e mantenere la nostra politica principale?
Penso che questa strategia possa funzionare anche all'interno di un singolo repo, ma usando solo un ramo stabile e instabile. Gli sviluppatori si impegnano solo in unstable e una volta che i test passano viene unito a stable. Devo pensarci un po 'di più ... ma questa è l'idea a cui torno sempre. –