Closed
Description
I think what we need to start thinking about is a new mode for GitVersion (in addition to ContinuousDelivery and ContinuousDeployment).
My initial thoughts is to call it Mainline
. The description of mainline development would be:
Mainline development considers a merge to 'master' a release, unlike the continuous delivery and deployment modes which get notified of a release via a tag. This allows you to use many of the GitVersion conveniences without having to tag your releases.
Initial thoughts about how this would work:
- Find initial base version
- If version is specified in GitVersion.yml, find the commit it was updated in, this commit and version can be a base version
- Other base version sources would be the same, can use tags (as a snapshot, similar to event sourced systems)
- Calculate the current version
- Find all merge commits to master
- Merged commits under their merge commits
- Go through each merge commit, run the increment strategies on the merged commits
- Aggregate the increments to get to the current version
See #889 for the discussion which lead to this new mode and also covers the naming of each of the modes.
Metadata
Metadata
Assignees
Labels
No labels