Wir werden diesen Monat ein neues Projekt starten. Das Projekt dauert 1 Jahr und die Bereitstellung der Produktion erfolgt erst gegen Ende des Projekts.
Wir werden eine iterative Entwicklung durchführen (1 Monat pro Iteration). Dies bedeutet, dass wir Features am Ende jeder Iteration für QS-Tests in der Testumgebung ablegen.
Unsere Verzweigungsstrategie lautet:
- Trunk - Alle Entwicklungen werden auf Trunk durchgeführt.
- Feature-Verzweigung - Verzweigungen außerhalb des Trunks werden nach Bedarf für die Entwicklung großer Features erstellt, die möglicherweise beschädigt werden können, wenn sie auf dem Trunk ausgeführt werden
- QA-Release-Zweige - Am Ende jeder Iteration wird ein Trunk-Zweig erstellt. Dieser Zweig (der eine Versionsnummer enthält) wird für die Testumgebung freigegeben. Alle kritischen und blockierenden Fehler in dieser Version werden in diesem Zweig behoben und die Korrekturen müssen mit dem Trunk zusammengeführt werden. Nicht kritische / triviale Fehler werden im QA-Release-Zweig nicht behoben und nur im Trunk behoben, da der QA-Release-Zweig nach dem Ende der nächsten Iteration, bei der ein neuer Release-Zweig außerhalb des Trunks erstellt wird, weggeworfen wird.
- Produktionszweig - Dies ist der neueste Zweig für die Qualitätssicherung am Ende des Projekts. Dies wird markiert und alle Produktionsfehlerbehebungen werden in diesem Zweig gespeichert und mit dem Trunk zusammengeführt.
Ist das eine richtige Verzweigungsstrategie? Gibt es noch etwas, das wir übersehen haben?
Wir verwenden SVN.