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:
- This is not what most Github contributors are used to. When creating a new PR, as an OS github contributor, I'm used to use master as the base branch, respecting the Github workflow. This is the first point of confusion. And doing a quick search on proophessor-do confirms that contributors don't always know if they should chose develop or master as the base branch (#51, #66, #71, #84, ...).
- In our current workflow, we merge develop into master and from time to time we merge master into develop for being sync which adds some noise to the git-log tree.
| * | b5f8ea3 - Merge remote-tracking branch 'origin/develop' (2 months ago) prolic
| |\ \
* | \ \ 036b92a - Merge remote-tracking branch 'origin/master' into develop (2 months ago) prolic
|\ \ \ \
| |/ / /
| | / /
| |/ /
|/| |
- The release process is heavier and features seem to take more time to be merged into master as they are all merged at once. The result is a big PR which is difficult to review. For proophessor-do it might be interesting to release often (one exercice = one PR = one release), similar to continuous deployment.
- For projects like prooph/event-store it might also be interesting to have one maintenance branch by release, just like symfony/symfony does.
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?
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?