Replies: 2 comments 6 replies
-
Hmm, to me this depends a bit on how "far out" 2.0 is. Of course it's difficult to predict exactly, but what's the current thinking on when 2.0 might be released? Overall, I also tend to favor 1, but if 2.0 is still far out (say, >6 months) maybe 2 makes more sense. |
Beta Was this translation helpful? Give feedback.
-
Quick comments - If we go with strategy 1, I suggest that we also set a timeline for the release, with the idea that we accept that features (that we ideally would like to have in 2.0) are not ready by then, and will be postponed. I think having a clear and realistic timeline a good strategy anyway. I would note also that if we're not sure, (I think) we could go with strategy 2 and convert to strategy 1 along the way (again, maybe with a clear milestone, in say 1/2 months, to switch to strategy 1 - which would benefit from the psychological advantage?). I would personally favour this intermediate strategy for three reasons:
|
Beta Was this translation helpful? Give feedback.
-
This is a discussion on what branching strategy to adopt for the upcoming v2.0 of
aiida-core
. Currentlydevelop
is atv1.5.2
and we have thev1.6.0
just around the corner. The only work directly for v2.0 that has been completed so far is the implementation of the new file repository which is almost ready to be merged. As far as I see it, there are two main approaches:v1.6
is released and #4345 is ready to be merged, it is merged straight intodevelop
, essentially makingdevelop
the upcomingv2.0
release. If there are any patches or features that need to be released beforev2.0
, the typical support branch strategy is used to make new releases.v1.6
is released arelease/2.0.0
branch is created and #4345 is merged into that branch, as well as all the other work that will follow that is slated forv2.0
. During this period we can continue to merge fixes forv1.6
intodevelop
and keep continue releasing as normal.The advantage of the latter approach is that it is slightly more convenient to keep working on patches (and potentially features) for the
v1.0
series, while thev2.0
work is being prepared. However, the downside is that therelease/2.0.0
might become a long-lived branch that diverges fromdevelop
and merges will become more difficult over time. There is a risk that we run into a similar scenario as for the transition ofv0.*
tov1.0
with the engine reworking. The first approach makes this slightly easier, although one still has to make sure that the relevant parts of patch and feature releases on support branches are merged carefully back intodevelop
. It also may bring a psychological advantage in that whendevelop
mirrors the state of the futurev2.0
it will push is more to work towards its release.I think I am personally leaning towards option 1 and simply commit ourselves as a team to work as focused as possible towards the v2.0 release once the new file repository implementation is merged into
develop
. Let's discuss!Beta Was this translation helpful? Give feedback.
All reactions