Comments (4)
@cmenzi thank you for raising this. By design, MinVer does, indeed, only support valid SemVer 2.0 versions. And, as you say, 1.0
is not a valid SemVer 2.0 version. My concern with adding support for this is two-fold:
- SemVer only supports one way of expressing a valid SemVer version. That is, I can only express
1.0.0
in one way. With that exact string. If we introduce automatic conversion of invalid versions, then we will have at least two ways of expressing1.0.0
: both1.0.0
and1.0
. What if MinVer finds one on one branch, and one on the other? Which is right? It might be1.0.0
in some contexts, and1.0
in others. Sure, we could make the conversion configurable, allowing disabling/enabling, or allow configuration of precedence, but as we add all these things, complexity grows. - This is one example, but what other invalid SemVer versions might people start requesting support for?
These points make me reluctant to add support for this.
But let's explore your listed alternative:
Retag the whole git history of 400+ gitlab projects.
A script could probably do this fairly quickly. How about writing that script? You can run it once and then your'e done. And no complexity has been added to MinVer.
from minver.
I will also try what it means if we just add the additional tag with the correct version.
As far as MinVer is concerned, that will be fine, because it will just continue to ignore the invalid (non-SemVer) tags.
I guess minver will take last good candidate.
Exactly. The presence of the older invalid (non-SemVer) tags makes no difference to how MinVer calculates the version.
from minver.
Thank you for the response.
We we really did our tagging concept without bad intentions, because of GitVersion handled this from beginning. Like the tag v1.0
implicitly produced 1.0.0
and from then on, the Patch
part was incremented automatically.
I can also understand that you would like to be strict here, as it's an official specification.
I think a script could do it. Just need to ensure that no build is triggered, which should be possible. I will also try what it means if we just add the additional tag with the correct version.
Another option could also be, that we just start now with correct tagging. I guess minver will take last good candidate.
from minver.
@cmenzi assuming you're pursuing one of the alternative paths we've discussed, I'm closing this for now. Feel free to re-open if required.
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
- 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.