Org Contribution Flow-chart
— Kaushal ModiA handy flow-chart if you are confused about when commits happen to
Org bugfix
branch vs main
branch, what ends up in the GNU Elpa
version, and so on.
- The old
maint
branch is now called thebugfix
branch, and themaster
branch is now calledmain
. Also now stable releases of Org happen on GNU Elpa (ref).
I have often seen questions and confusion about why certain fixes or features added to Org mode did not show up in its update on GNU Elpa.
Below flow chart is an attempt to answer all such questions, and also
my first attempt at creating one using PlantUML (legacy syntax)
See the legacy vs new (beta) PlantUML syntax for activity
diagrams. When I tried the new (beta) syntax, it did not allow using
the “labels”.. see the as bugfix
, as main
syntax in the flowchart
source code.
.
PlantUML source code
(*) --> "My Org commit"
--> "Discuss on Org mailing list"
if "Bug fix commit?" then
-->[yes] "Commit to Org **bugfix**" as bugfix
else
->[no] if "**bugfix** compatible doc fix commit?" then
-->[yes] bugfix
else
->[no] "Commit to Org **main**" as main
endif
endif
bugfix --> "Merge to Org **main**"
--> main
bugfix --> "Wait till next Monday"
--> "Push to GNU Elpa" as push
bugfix --> "Short maturity time"
--> "Cut a minor release" as minor_release
minor_release --> ===RELEASE===
minor_release --> main
main --> "**Long maturity time**"
--> "Cut a major release" as major_release
major_release --> ===RELEASE===
major_release --> "Merge to Org **bugfix**"
--> bugfix
===RELEASE=== --> push
===RELEASE=== --> "Squash and commit to Emacs release or main branch"
--> (*)
push --> (*)
Syntax Output -->
Vertical arrow ->
Horizontal arrow (*) -->
Start point --> (*)
End point