Ostatnio natknąłem się na artykuł MSDN na temat rozgałęziania i łączenia oraz SCM: Rozgałęzianie i łączenie podkładu - Chris Birmele .
W artykule mówią, że „połączenie wielkiego wybuchu” to łączący się antypattern:
Big Bang Merge - odroczenie połączenia gałęzi do końca prac rozwojowych i próba scalenia wszystkich gałęzi jednocześnie.
Uświadomiłem sobie, że jest to bardzo podobne do tego, co robi moja firma ze wszystkimi produkowanymi działami rozwoju.
Pracuję w bardzo małej firmie, w której jedna osoba pełni rolę organu kontroli ostatecznego przeglądu + scalania tułowia. Mamy 5 programistów (w tym mnie), każdemu z nas zostanie przypisane oddzielne zadanie / błąd / projekt i każdy z nas odłączy się od bieżącego pnia (subversion), a następnie wykonamy prace programistyczne w naszym oddziale, przetestuje wyniki, napisze dokumentację w razie potrzeby wykonaj wzajemną ocenę i sprzężenie zwrotne z innymi programistami, a następnie prześlij oddział do przeglądu + scalenia w naszym oprogramowaniu do zarządzania projektami.
Mój szef, jedyny autorytet w repozytorium pnia, faktycznie odracza wszystkie recenzje gałęzi, aż do momentu, w którym będzie przeprowadzał recenzje na tyle, na ile będzie mógł, niektóre gałęzie zostaną odrzucone w celu ulepszeń / poprawek, niektóre gałęzie połączą się w pień, niektóre zostaną odrzucone z powodu konfliktów itp.
Nierzadko zdarza się, że 10-20 aktywnych oddziałów siedzi w końcowej kolejce przeglądu, aby połączyć je w pień.
Często musimy również rozwiązywać konflikty w końcowym etapie przeglądu i scalania, ponieważ dwie gałęzie zostały utworzone z tego samego łącza, ale zmodyfikowały ten sam fragment kodu. Zwykle tego unikamy, po prostu odgałęziając pień i ponownie stosując nasze zmiany i rozwiązując konflikty, a następnie przekazując nowy oddział do przeglądu (słaba zmiana bazy).
Oto niektóre bezpośrednie pytania:
- Czy przejawiamy bardzo anty-wzorzec, który został opisany jako „scalenie wielkiego wybuchu”?
- Czy niektóre problemy, które widzimy w wyniku tego procesu scalania?
- Jak możemy ulepszyć ten proces łączenia bez zwiększania wąskiego gardła u mojego szefa?
Edycja: Wątpię, aby mój szef poluzował przyczepność do repozytorium pnia lub pozwolił innym deweloperom połączyć się z pniem. Nie jestem pewien, jakie są tego powody, ale tak naprawdę nie planuję poruszać tematu, ponieważ został on poruszony wcześniej i dość szybko zestrzelony. Myślę, że po prostu nam nie ufają, co nie ma sensu, ponieważ wszystko i tak jest śledzone.
Doceniamy każdy inny wgląd w tę sytuację.