Contao-News

Wir informieren Dich hier regelmäßig zu Updates, stellen Best-Practice-Arbeiten vor und berichten über Aktuelles aus dem Contaoversum.

Wechsel von GitFlow zu Trunk-based Development

von Leo Feyer – Aktuelles

In den nächsten Tagen werden wir in allen Contao Git-Repositories von Git Flow zu Trunk-based Development wechseln.

Git Flow

In Git Flow gibt es zwei infinite Zweige namens master und develop. Der Master-Zweig enthält per Definition nur die stabilen und getaggten Versionen; Änderungen müssen in Hotfix- oder Release-Zweigen gemacht werden, die anschließend in den Master-Zweig gemergt werden. Die Entwicklung neuer Versionen erfolgt im Develop-Zweig.

Für Long-Term-Support-Versionen müssen in Git Flow spezielle Support-Zweige angelegt werden.

Trunk-based Development

Beim Trunk-based development gibt es nur einen infiniten Zweig namens master. Der Master-Zweig ist hier der Enwicklungszweig, in dem neue Versionen entwickelt werden. Die stabilen und getaggten Versionen befinden sich in Release-Zweigen.

Long-Term-Support-Versionen werden in ihrem jeweiligen Release-Zweig gepflegt. Es müssen keine extra Zweige angelegt werden.

Gründe für den Wechsel

Trunk-based development bedeutet für uns eine Vereinfachung des Workflows.

Bisher mussten neue Feature-Versionen aus dem Develop-Zweig in einen Release-Zweig verschoben werden (RC-Phase), von dort aus in den Master-Zweig (Stable-Phase) und danach in einen Support-Zweig (LTS-Phase). Zukünftig werden neue Versionen im Master-Zweig entwickelt und in der RC-Phase in einen Release-Zweig abgespaltet, in dem sie bis zum End of Life bleiben.

Durch den Entfall des Develop-Zweiges reduziert sich außerdem der Merge-Aufwand, da nicht mehr zwei infinite Zweige parallel aktualisiert werden müssen.

Pull Requests

Für Pull Requests galt bisher die Regel: Bugfixes auf Basis des Master-Zweiges und neue Features auf Basis des Develop-Zweiges. Zukünftig müssen Pull Requests für Bugfixes auf Basis eines Release-Zweiges gestellt werden und Pull Requests für neue Feature auf Basis des Master-Zweiges.

Angenommen es gibt die beiden Release-Zweige 4.4 und 4.5, so muss ein Bugfix-Pull Request auf Basis des 4.4er-Zweiges erstellt werden, wenn der Fehler bereits in Version 4.4 vorhanden ist. Ist der Fehler hingegen nur in Version 4.5 vorhanden, sollte der 4.5er-Zweig als Basis genommen werden.

dev-master

Wer Contao bisher als dev-master in seiner composer.json-Datei angefordert hat, wird zukünftig keine stabilen Versionen mehr erhalten, sondern die Entwicklungsversionen. Da die Verwendung einer offenen Versionsbedingung aber ohnehin keine gute Idee ist, sollte das kein Problem sein.

Alle News anzeigen

Kommentare

Einen Kommentar schreiben

Was ist die Summe aus 9 und 2?