prooph / proophessor

Exploring prooph components
http://getprooph.org
BSD 3-Clause "New" or "Revised" License
85 stars 23 forks source link

RFC use master branch as the development branch #41

Open lucascourot opened 7 years ago

lucascourot commented 7 years ago

At the moment prooph repositories use a gitflow-like workflow which means all the feature PRs should be merged into develop and all the bug fixes should be merged into master. The master branch only hosts the releases and always reflects the latest stable version.

When it may look more robust at first glance, it actually feels to me confusing and counterproductive. Here are some of the drawbacks I see:

I would like to have your point of view on what you think of the current prooph's git workflow and how we could improve it. I'd suggest to remove the develop branch and make all the futur PRs against the master branch.

Would it be more natural/easier for you to have master as the develop branch? Shall we add release branches for maintenance?

prolic commented 7 years ago

I am for keeping master branch for bugfixes and develop branch for new features. But there will be (f.e.) an event-store v6 branch which will be supported until end of 2017 for bugfixes in the 6.x-series. No new feature will be developed for 6.x-series.

nealio82 commented 7 years ago

Having worked with both git-flow and github-flow methodologies, the former is much more restrictive as a workflow and lends itself to delayed releases, feature rot, and merging issues (although perhaps that was down to the way we were using it at the time, with features being too large and project management sporadically being applied). Regardless, github-flow has proven much more flexible for our teams and makes continuous deployment far easier.

codeliner commented 7 years ago

I'm not sure. CD is great for applications but I don't know if it is a good fit for OSS libraries. Anyway, if contributors are more used to the github-flow it would be ok for me if we use it. I wasn't aware that so many github projects use the github-flow. I'll think about it and add my thumbs later.

rommsen commented 7 years ago

I am all for this change (we use git-flow for our project and it works good, but I think its different in oss stuff). Just go through the PRs not done by @prolic or @codeliner and see how often you had to ask to make this PR against develop and not master. Its always a hurdle for newcomers.

prolic commented 7 years ago

PR to wrong branch is not such a big deal anymore, as github allows now to change the base branch after the PR is created.

codeliner commented 7 years ago

I voted for the change, too. Yesterday I was asked: Where are the new features presented at the prooph meetup? My answer: in the develop branch of course. But I'm starting to realize that things have changed. It seems that people expect to find latest changes in master. That is a good movement, because continuous delivery works this way. Yeah and maybe continuous delivery can also work for OSS.

basz commented 7 years ago

I am familiar with git-flow - not with github-flow. so no preference... i'll 'go with the flow' :-)

sandrokeil commented 7 years ago

I'm flexible too and it can simplify things. A branch for experiments or long running features can also be exists. It's only a name.

codeliner commented 7 years ago

For some component repos we switched already, but I'm not sure atm if this is true for all repos. We should add a contribution.md to all repos with always the same rules and the github-flow.

sandrokeil commented 7 years ago

Yes, maybe we should create a maintainer repo like zend to put some guidelines there.