-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drop dual master-develop branching in favor of a single prod branch #88
Comments
IMHO yes, I agree. Our current workflow does not benefit from the |
So, do we all agree on this? Pinging @David-Estevez per #7 (comment), among other issues. |
LGTM! |
To sum up, at the time of writing this we follow the gitflow workflow approach almost everywhere (documentation-like repos aside). It is proposed to perform a paradigm switch by adopting the forking workflow instead. Next steps:
Edit. Since not all repos will be referenced by commits below this comment, I'm listing them here: |
Most or all org repos will undergo a significant change in the branching logic. The pair |
This is all done. The announcement was made here: #88 (comment). Recap: please switch your local repositories to |
@PeterBowman Thank you so much for all of this!! |
PS: Ran into
Edit by @PeterBowman in order to make this show up in search results: |
I have just switched branches in robots.uc3m.es in order to generate doxygen files for |
@PeterBowman thanks a lot for this! |
I've come across an interesting article: https://towardsdatascience.com/git-flow-is-the-source-of-productivity-not-confusion-8abda7c5fb30. It is stated that two common workflows are encompassed in the so-called git-flows:
This corresponds to a High-Frequency and Low-Quality development cycle: master branch plus feature/bugfix branches stemming from and merging directly into it.
In turn, this one is defined as the Low-Frequency and High-Quality case: master branch (we call it develop) plus release branch (that's our master). The former is the entrypoint for all development, and it is occasionally merged into the release branch by a "gatekeeper".
So far, we have widely adopted the convolute dual-branch workflow (master+develop), see e.g. roboticslab-uc3m/yarp-devices#34. Doubts arised upon considering documentation-like repos: roboticslab-uc3m/developer-manual#6. Still, every other repos (particularly the source-code ones) must currently adhere to the second scheme: roboticslab-uc3m/developer-manual#16.
We are not confident enough in creating releases of our source code. Note this is not a straightforward process, it needs some special care and synchronization due to interdependencies across a few of our own org repos. That case was supposed to fall into the scope of YCM superbuild usage scenarios: #1. We've never fully exploited this feature, though. YCM is rarely or never used in that way in our ecosystem, we'd rather build each repository separately and then install and link as usual, no special orquestration involved.
The Low-Frequency and High-Quality is better suited for bigger projects, such as YARP. Proposal: let's drop the dual master-develop branching system in roboticslab-uc3m (unless specifically justified, see amor-api) and resort to a single master branch. In practice, it means that what we call develop should become master.
The text was updated successfully, but these errors were encountered: