W projekcie, nad którym pracuję, używamy SVN ze strategią "Stabilnego pnia". Oznacza to, że dla każdego znalezionego błędu QA otwiera bug ticket
i przypisuje go programistom. Następnie deweloper rozwiązuje ten problem i sprawdza go w oddziale (off bagażniku, nazwijmy to, że bug branch
) i że oddział będzie zawierać tylko poprawki dla danego bug ticket
Ciągła integracja z rozwojem wielu gałęzi w Subversion
Kiedy zdecydowaliśmy się komunikat, dla każdego poprawki błędów, które chcemy udostępnić klientowi, programista połączy wszystkie poprawki od kilku bug branch
do trunk
i przystąpi do normalnego cyklu kontroli jakości.
Problemem jest to, że używamy trunk
w kodzie dla naszej pracy CI (Hudson, specjalnie), a zatem dla wszystkich zobowiązuje się do bug branch
, to przegap codziennie build aż robi się połączyły trunk
kiedy zdecydowaliśmy się wypuść nową wersję oprogramowania. Oczywiście, to pokonuje cel posiadania CI.
Jaki jest właściwy sposób rozwiązania tego problemu?
Zazwyczaj mówię, że ustawiłbyś CI dla swoich oddziałów, ale założę się, że masz o wiele za dużo. Wiesz, że masz dość niecodzienną polisę na ten temat. Nie jest typowe tworzenie 1 gałęzi na naprawę błędów, szczególnie w przypadku SVN. –