Comments (4)
@Styxxy thanks for asking.
I evaluated both GitTools.GitVersion
and Nerdbank.GitVersion
before starting this, but neither of them works in the way that I want for my projects.
The TL;DR is that MinVer
is simpler. How it works pretty much captures everything. At least, as currently designed, since it's still a work in progress. There is no NuGet package available yet.
How does this project compare to GitTools.GitVersion ... ?
To some degree, it's a subset of what GitTools.GitVersion
does. It's much simpler and doesn't do nearly as much. Some of the differences:
- No dependency on a specific branching pattern.
- No inference of version from branch names.
- No inference of version from YAML config.
- No inference of version from commit messages.
- No inference of version from CI build server env vars.
- No creation of metadata code artifacts.
- No automatic fetching of tags, etc. from the repo.
- One package instead of a series of packages.
- No support for
AssemblyInfo.cs
How does this project compare to ... Nerdbank.GitVersion?
It's different approach, and again, simpler (some of the differences are already listed under my previous answer for GitTools.GitVersion
).
Essentially, Nerdbank.GitVersion
wraps up the injection of the version into the build process from a config file. That means versions are controlled by commits to that config file. MinVer
works purely on tags. That means it doesn't need some of the types of things that come with Nerdbank.GitVersion
such as the config file bootstrapper, and it means the version is controlled independently of the commits. E.g. you can tag a commit as a release candidate, build it and deploy. After some time, if the release candidate has no bugs, you can tag the same commit as RTM, build it and deploy.
Also, Nerdbank.GitVersion
uses the git height for the patch version, and that's not what I want.
from minver.
@Styxxy FYI I raised #227 based on this conversation. Thanks again for raising this question.
from minver.
Thanks for the clarification.
Might be interesting to document this ;-) .
from minver.
@Styxxy yeah, I was thinking the same. 🙂
I think it's worth getting that into an FAQ when the design is proven, and at least a beta or RC package is available.
Thanks again for raising this.
from minver.
Related Issues (20)
- Please publish a MinVer.Lib nuget package HOT 1
- Produce an MSBuild error when Git is not present in PATH HOT 2
- Remove redundant MSB3073 error when a MinVer MSBuild error is produced HOT 1
- MinVer in WPF projects HOT 6
- 4.2.0 release
- Allow tags with the format v1.0 or v1.1 HOT 4
- 4.3.0 release
- Tags ignored with actions/checkout@v3 HOT 2
- Do not include MinVerBuildMetadata in PackageVersion HOT 5
- Allow for disabling the pre-release additions by a property value HOT 4
- disable MinVerAutoIncrement HOT 5
- 5.0.0 release
- MinVerBuildMetadata included in .Net 8 SDK build but not .Net 6 SDK HOT 5
- Is it time to revisit the MSBuild task idea? HOT 2
- Auto increment patch part not working HOT 2
- Allow a fourth "Revision" version part to be used. HOT 3
- Installing 4.3.0 with Nuke build causes multiple versions to be referenced HOT 2
- Calculated height varies between local git and GitHub Actions HOT 8
- Tagged version not used as version when MinVerMinimumMajorMinor is higher HOT 2
- Tagged version wins even if MinVerMinimumMajorMinor is higher HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from minver.