A handy flow-chart if you are confused about when commits happen to Org maint branch vs master branch, what ends up in the Elpa version of Org, and so on.

I have often seen questions and confusion about why certain things got fixed in Org, or a new feature got added, but then did not show up in the next Org update via Elpa.

The below flow chart is an attempt to answer all such questions, and also my first attempt at creating one using PlantUML (legacy syntax ).

When I tried the new (beta) syntax, it did not allow using, what I call, “labels”.. see the as maint , as master syntax in the flowchart source.

Flow chart #

Figure 1: Flow of a commit in Org mode repo from maint branch to master branch to Emacs repo

PlantUML Source #

(*) --> "My Org commit" --> "Discuss on Org mailing list" if "Bug fix commit?" then -->[yes] "Commit to Org **maint**" as maint else ->[no] if "**maint** compatible doc fix commit?" then -->[yes] maint else ->[no] "Commit to Org **master**" as master endif endif maint --> "Merge to Org **master**" --> master maint --> "Wait till next Monday" --> "Push to Org Elpa" as push maint --> "Short maturity time" --> "Cut a minor release" as minor_release minor_release --> ===RELEASE=== minor_release --> master master --> "**Long maturity time**" --> "Cut a major release" as major_release major_release --> ===RELEASE=== major_release --> "Merge to Org **maint**" --> maint ===RELEASE=== --> push ===RELEASE=== --> "Squash and commit to Emacs release or master branch" --> (*) push --> (*)

PlantUML Hints #