Beyond 2.8 - some design thoughts

Geert Janssens geert.gnucash at kobaltwit.be
Fri Dec 29 13:26:07 EST 2017


Op vrijdag 29 december 2017 19:12:59 CET schreef Sumit Bhardwaj:
> Geert,
> 
> How would this impact the branching? Would we still have master, unstable,
> and maint? And, how would those correspond to the release versions?
> 
The branches would remain as they are now.

All backwards incompatible or big work still goes on master. Bugfixes and 
small, compatible improvements go on maint.

Releases from the maint branch will increase the second number ('y' in x.y).

We are unlikely to ever release from the master branch. Instead when we want 
to prepare for a major release (the one which would cause us to change the 'x' 
in x.y), we create an unstable branch starting from the master commits we want 
to go into that major release. We will then start releasing x.9yy numbered 
releases from that branch until the final major release (x+1.0).

Each major release also means a branch reset. The major release commit itself 
will become the new maint branch. The unstable branch is removed.

At any time during the development cycle we merge "upwards" from time to time 
(at least a release points, but sometimes more frequently). That means that 
all changes from maint get merged into unstable (if it exists at that moment) 
and all changes on unstable will be merged into master. If unstable doesn't 
exist (because we're not preparing for a new major release), we merge maint 
directly into master.

Regards,

Geert


More information about the gnucash-devel mailing list