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
maintbranch is now called thebugfixbranch, and themasterbranch 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.
.
Figure 1: Flow of a commit in Org mode repo from bugfix branch to main branch to Emacs repo
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