The ContinuousDelivery mode on the main branch #4500
-
Hello! First of all, thanks for the tool that makes version management easier. We're using GitVersion since couple of years and are now in the process of trying to switch to GitVersion 6. We are following standard GitFlow and were using mostly default configuration. We are trying to understand the motivation behind changing the The example in the mode description says:
was the tag in the example meant to be In general, our teams were fine with releasing builds with numerical metadata like
however we tried setting this:
but we still got the pre-release label in the generated version: |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 11 replies
-
Oh thank you very much. It is good to hear a positive feedback. I'm glad that you like it. :)
I think the motivation was to align with the semantic version specification. Like you mentioned to use the metadata section to count the commits would be wrong. In a continuous delivery scenario you want to have a semantic version number which is increasing automatically without tagging. This is also related to your other question related to the examples: The tagging of the commit has in this aspect no effect on the counting mechanism. The example should illustrate, that it doesn't matter if you tag it or not, the next semantic version number will be the same result. That's the use case of using
Yes, that is also something I have noticed and in my opinion it is a deficit in the design of the semantic version specification. However, because we cannot change it I would suggest either to specify the label to zeta (or better zzz ;)) on main or use the continuous deployment mode (@asbjornu should we change it in the workflow template?). On the GitFlow Examples following is written:
Last but not least I want to point out that on the github flow and git flow workflow all versions are pre-release versions until you have released it to manufacturing (RTM) by creating a dedicated tag.
No that's correct. Please see explanation above.
At the point in time this sentence was true. Mean while the behavior has changed and the null means you are allowing all tags and labels to be recognized on the branch by gitversion (see ComparingTheBehaviorOfDifferentDeploymentModes.cs to get an idea). Every version is a pre-release version until you tag it explicit.
The null expression in JSON and YAML is treated differently (empty string would be
Happy Branching! |
Beta Was this translation helpful? Give feedback.
Oh thank you very much. It is good to hear a positive feedback. I'm glad that you like it. :)