Emacs, scripting and anything text oriented.

Org Contribution Flow-chart

Kaushal Modi

A 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.

<2022-02-22>
The old maint branch is now called the bugfix branch, and the master branch is now called main. 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

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 --> (*)
Few notes on PlantUML syntax
SyntaxOutput
-​-​>Vertical arrow
-​>Horizontal arrow
(*) -​-​>Start point
-​-​> (*)End point

Versions used: plantuml 1.2022.1
Webmentions
 1