Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
contributing:branches [2023/01/02 21:17] – [next] typo grische | contributing:branches [2024/11/28 11:51] (aktuell) – formatting grische |
---|
===== Branches & Tags ===== | ===== Branches & Tags ===== |
| |
Es gibt im GitHub-Repository diverse Branches. In dem Artikel werden die verschiedenen Branches und deren Nutzung beschrieben. | Es gibt im GitHub-Repository diverse Branches. In diesem Artikel werden die verschiedenen Branches und deren Nutzung beschrieben. |
| |
==== stable ==== | ==== Deprecated Branches ==== |
| |
Dieser Branch nutzt eine stabile Version von Gluon. | Vor 2025 gab es Branches "stable", "next" und "legacy" um verschiedene Versionen von Gluon parallel pflegen zu können und gleichzeitig Upgrade Pfade zwischen den Versionen zu gewährleisten. |
Meist wird der letzte Release von Gluon genutzt, manchmal jedoch ab ausführlich getestete Commits kurz vor/nach einem Gluon Release. | Da dies jedoch zu vereinfacht ist für die immer komplexer werdenden [[https://github.com/freifunk-gluon/gluon/wiki/Release-life-cycle#migration-paths-diagram|Upgrade Pfade von Gluon]], wurden diese Branches deprecated. |
| |
=== stable Releases === | Davor gab es auch noch einen "experimental" Branch, dieser wird aber seit 2021 nicht mehr genutzt. |
Änderungen in diesem Branch werden nacheinander in den Releases für "experimental", "testing" und anschließend "stable" veröffentlich. | |
| ==== Stable Gluon ==== |
| |
| Die Branches ''gluon-v20...'' enthalten Firmware Versionen für die stabilen [[https://github.com/freifunk-gluon/gluon/branches/all|Versionen (bzw. Branches) von Gluon]] mit zusätzlichen Patches für FFMuc. |
| |
| Beispielsweise ''gluon-v2021.1.x'' enthält eine Version die auch noch [[https://ffmuc.net/freifunkmuc/2019/07/11/austausch-aelterer-geraete|4/32 Geräte (<=4MB Flash oder <=32MB RAM) unterstützt]]. |
| |
| **⚠️ Alle Branches außer der neuesten Version bekommen generell keine Sicherheitsupdates und werden nicht mehr aktiv gepflegt! ⚠️**\\ |
| Ausnahmefälle für Updates in älteren Branches sind bspw. Migrationsskripte, um die diversen Upgrade Pfade auf die neueste Firmware Version gewährleisten zu können. |
| |
| |
| === Stable Releases === |
| |
| Änderungen in diesem Branch werden nacheinander auf dem Autoupdater-Branch "experimental", "testing" und anschließend "stable" veröffentlich. |
| |
Die Versionen folgen dem Schema | Die Versionen folgen dem Schema |
</code> | </code> |
| |
Das Jahr und der Monat des Release werden nur inkrementiert, wenn die zugehörige Gluon Version geändert wurde. | Das Jahr und der Monat des Release werden bei jedem Release inkrementiert, unabhängig von Größe der Änderung. Das Inkrement wird bei Änderungen erhöht die im gleichen Monat stattfinden. |
Das Inkrement wird bei jeder Änderung erhöht, sofern die Änderungen nicht die zugehörige Gluon version erhöhen. | |
| |
==== experimental (deprecated) ==== | |
| |
Dieser Branch wird nicht mehr genutzt. | ==== Next Gluon ==== |
| |
==== next ==== | Ein spezieller Branch ist ''gluon-next'', welcher den bleeding-edge ''next'' Branch von Gluon referenziert. Dieser Branch wird meist force-pushed (analog dem Next Branch von Gluon) und sollte nur in Ausnahmefällen benutzt werden. |
| |
Dieser Branch nutzt den aktuellen Entwicklungsstand von Gluon und ist daher bleeding-edge. | Er wird genutzt um neue Entwicklungen in Gluon vor einem neuen (major) Gluon Release bei FFMuc testen zu können und erlaubt Entwicklern, bereits früh Änderungen bei der FFMuc Firmware anzustoßen, um kompatibel mit dem nächsten Gluon Release zu bleiben. |
<!-- TODO: define "entwicklungsstand von Gluon". Master? Next? --> | |
| |
Er wird genutzt um neue Entwicklungen in Gluon vor einem neuem (major) Gluon Release mit FFMuc testen zu können und erlaubt Entwicklern bereits früh Änderungen in FFMuc anzustoßen um kompatibel mit dem nächsten Gluon Release zu bleiben. | Oft werden auch infrastrukturelle Änderungen hier zuerst getestet bevor sie in die entsprechenden "stable" Branches portiert werden. |
| |
Oft werden auch infrastrukturelle Änderungen hier zuerst getestet bevor sie in den "stable" Branch portiert werden. | |
| |
=== next Releases === | === Next Releases === |
Änderungen in diesem Branch werden nacheinander in den Releases für "experimental", "testing" und anschließend "stable" veröffentlich. | |
| |
Die Versionen folgen dem gleichen Schema wie stable release, haben jedoch den Postfix "next": | Die Versionen folgen der aktuellen Versionsnummer von "stable", haben jedoch den Postfix "next", ggf. mit einem zusätzlichen Next-Inkrement: |
<code> | <code> |
v<Jahr des Release>.<Monat des Releases>.<Version Inkrement>-next | v<Jahr des Release>.<Monat des Releases>.<Version Inkrement>-next<ggf. Next-Inkrement> |
</code> | </code> |
| |
Das Jahr und der Monat des Release werden nur inkrementiert, wenn die zugehörige Gluon Version geändert wurde. | Ein "next"-Release bekommt die Versionsnummer des "stable"-Release auf dem "next" basiert mit einem ''-next'' Postfix. Sollte es mehrere "next" Releases geben, die auf dem gleichen "stable"-Stand basieren, dann wird nach dem Postfix ein Next-Inkrement (beginnend bei "2") angehängt. Bei allen weiteren Next-Releases wird das Next-Inkrement um eins hochgezählt. Die Kopplung der Versionsnummer an das aktuelle "stable"-Release ist bewusst gewählt, unabhängig von der OpenWrt-Version oder den Umfang der Änderungen im Vergleich zum Stand des "stable" Branches, da diese für unsere Benutzer meist eine untergeordnete Bedeutung haben. |
Das Inkrement wird bei jeder Änderung erhöht, sofern die Änderungen nicht die zugehörige Gluon version erhöhen. | |
| |
==== legacy ==== | |
| |
Aktuell nicht genutzter Branch, welcher auf dem letzten Stand der Firmware ist, die noch [[https://ffmuc.net/freifunkmuc/2019/07/11/austausch-aelterer-geraete|4/32 Geräte (<=4MB Flash oder <=32MB RAM) unterstützt]]. | |
Damit wäre es möglich kritische Sicherheitsupdates auf den alten, nicht mehr von FFMuc unterstützen Geräten auszurollen. | |
| |
==== Tags ==== | ==== Tags ==== |
[[https://github.com/freifunkMUC/site-ffm/tags|Liste der Tags im GitHub]] | [[https://github.com/freifunkMUC/site-ffm/tags|Liste der Tags im GitHub]] |
| |