cbcrouse / Versioning.NET

A dotnet tool that automatically increments versions in csproj files based on git commit hints.
MIT License
19 stars 3 forks source link

Update version based on comparison of different git branches/tags #7

Closed cbcrouse closed 3 years ago

cbcrouse commented 3 years ago

Currently, versioning is only supported for a single branch. When you pass the branch name in, the commits that are used for versioning are found between the TIP of the specified branch and the latest version tag.

The goal is to also support passing in a target branch and a source branch. The commits that differ from the target branch's TIP will be used to determine the version. This will lead to much smaller version increases. For example, if the version on the master branch is 1.0.0 and there are 5 new features on the dev branch, instead of the version being increased for each feature (1.5.0), each time the versioning occurs, the version in the develop branch is compared to the version in master and only increases as needed. If master is at 1.0.0, then the version in dev after 5 features would be 1.1.0.X