Jeśli pracujemy tylko z jednym oddziałem w Subversion, czy powinniśmy się tym przejmować? Czy nie możemy po prostu pracować na bagażniku, aby przyspieszyć?
Oto jak rozwijamy się z Subversion:
- Jest tu bagażnik
- Tworzymy nową gałąź rozwoju
- W tej branży opracowujemy nową funkcję
- Po zakończeniu tej operacji jest ona łączona w pniu, gałąź jest usuwana, a z pnia tworzona jest nowa gałąź programistyczna
Kiedy chcemy wprowadzić do produkcji, tworzymy etykietę z bagażnika. Poprawki błędów są wprowadzane do gałęzi na podstawie tego znacznika. Ta poprawka jest następnie scalana w pniu.
Dlatego tworzymy nową gałąź programistyczną po zakończeniu funkcji. W ten sposób poprawka zostanie wkrótce uwzględniona w naszym nowym kodzie.
Poniżej znajduje się schemat, który powinien wyjaśnić:
Teraz wydaje się, że nie jest to najbardziej efektywny sposób pracy. Budujemy lokalnie przed zatwierdzeniem, co zajmuje około 5-10 minut. Możesz zrozumieć, że odczuwa się to jako dość długi czas oczekiwania.
Idea gałęzi programistycznej polega na tym, że bagażnik jest zawsze gotowy do wydania. Ale nie jest to już prawdą w naszej sytuacji. Czasami funkcja jest prawie gotowa, a niektórzy programiści już zaczynają kodować następną funkcję (w przeciwnym razie siedzieliby i czekali, aż jeden lub dwóch programistów zakończy i połączy).
Następnie, gdy funkcja 1 jest zakończona, jest scalana w pień, ale zawiera pewne zatwierdzenia funkcji 2.
Czy więc powinniśmy zawracać sobie głowę gałęzią rozwoju, ponieważ mamy tylko jeden oddział? Czytałem o rozwoju opartym na pniu i gałęzi po abstrakcji, ale większość artykułów znalazłem skupienie się na części po gałęzi. Mam wrażenie, że dotyczą dużych zmian, które obejmą kilka wydań. Nie mamy z tym problemu.
Co myślisz? Czy możemy po prostu pracować na bagażniku? Najgorszym scenariuszem jest (myślę), że musielibyśmy zrobić tag z pnia i wybrać niezbędne zmiany, ponieważ niektóre zmiany / funkcje nie są jeszcze gotowe do produkcji.