ElkArte Community

Elk Development => Feature Discussion => Topic started by: TestMonkey on December 29, 2012, 02:14:29 pm

Title: Development process
Post by: TestMonkey on December 29, 2012, 02:14:29 pm
On one aspect: the nvie model branches.

Summary:

I suggest we use 'master' for the development branch.
We will have release-in-progress and stable branches when beta comes closer, but in all cases we could keep the 'master' branch for on-going development, meaning always the new version. Why: it's easier for new comers.
Although, I think we have to switch the default github branch when release-x is around, but imho it is still a little better. Or well, we can try.

Summary: master for on-going development. When a release-x is in progress, release-x is for the fixes to x, while master continues to receive PRs for the newer version. Forget the third for now.
Title: Re: Development process
Post by: emanuele on October 02, 2014, 07:39:55 am
Nice I found this topic because it has some outdated infos.

For the whole 1.0 pre-release (development+beta+RC) cycle we used master for development.
Now that 1.0 is out, master is holding the latest stable release, that is 1.0 at the moment.
Bug fixes for 1.0.1 are contributed to the branch patch_1-0-1.
And development is happening on development.

I think we can follow pretty much the original nvie branching model (http://nvie.com/posts/a-successful-git-branching-model/) as is, have development going on in master may be less confusing at the beginning, though it is not really much more confusing than contributing a fix for a certain release I guess. ;D
Title: Re: Development process
Post by: IchBin on October 02, 2014, 09:53:54 pm
I've really had to push some people at work to get them to warm to the idea of branching. For the longest time, some of the other teams around me didn't even have any branches. What was in the trunk went to prod! How insane is that? lol
Title: Re: Development process
Post by: Joshua Dickerson on October 03, 2014, 12:13:59 am
There are quite a few large tech companies that only work on trunk. Though, I think it makes a huge difference when your trunk is comprised of micro services.
Title: Re: Development process
Post by: emanuele on October 05, 2014, 08:16:34 am
Branches are indeed cool!

Of course, with a development like ours (somehow "random"), from time to time it becomes rather painful to merge branches. For example, now merge the 1.0.1 branch into master is easy. Merge the same into development will require quite a bit of efforts because of the fundamental changes to some of the files there. Well, it will just result in a bunch of conflicts... :P