Zaraz rozpocznę pracę nad nową wersją (wersja 4) mojej aplikacji komercyjnej. Używam Subversion.
W oparciu o twoje doświadczenia, błędy i sukcesy, jak poleciłbyś skonfigurować nową wersję w Subversion?
Oto kilka informacji: Zamierzam nadal publikować krytyczne aktualizacje w wersji 3 przez jakiś czas po wydaniu wersji 4. Cały rozwój nowych funkcji będzie jednak dotyczył wyłącznie wersji 4.
W przypadku, gdy jest to istotne: jestem solistą w zakresie tego produktu i prawdopodobnie tak pozostanie.
EDYCJA: Mam świadomość tagów i gałęzi SVN. Chyba potrzebuję optymalnej strategii używania tagów i gałęzi w mojej sytuacji.
źródło
To zależy.
Możesz zachować wersję 4 w bagażniku i kontynuować rozwój na V4. Wersja 3 byłaby gałęzią, którą aktualizowałbyś w razie potrzeby. Zaletą tego podejścia jest to, że jeśli krytyczny problem zostanie wykryty w wersji V3, również w wersji V4, można wykonać proste scalenie plików w gałęziach.
Inną opcją jest utworzenie i całkowicie nowego repozytorium dla V4. To da ci nowy początek. Minusem jest to, że historia zmian została zresetowana i nie będzie można scalać plików przez Subversion. Będziesz musiał użyć programu, takiego jak Beyond Compare, aby scalić zmiany.
Osobiście trzymałbym się pierwszego podejścia. Utwórz gałąź V3 i utrzymuj kod oraz aktualizacje w tej gałęzi. Nowy kod V4 można opracować w bagażniku.
źródło
Znalazłem doskonały przewodnik po tej sytuacji :
źródło
Pytasz o strategię rozgałęzienia (i scalenia). Więc weź stanowisko karthik t i weź to jako przepis.
Aby zapoznać się z tłem, przeczytaj następujące zasoby:
źródło