4 ms·
Something which isn't mentioned here and is difficult to find precise information even in the official docs is how versioning works - specifically, how do you s
by maddyboo 8y ago
Something which isn't mentioned here and is difficult to find precise information even in the official docs is how versioning works - specifically, how do you specify what version your module is? Semver is mentioned, but not how to define your version.
The short answer is to use git tags. You need to include the `v`, e.g. `v1.2.3`. If you don't use git, I don't know the answer.
- gcb0 8y agoversions? 2018 is the year of the evergreen module dependency injection!
- alexandernst 8y agoAbsolutely stupid... I don't want my poduction pipeline to be injecting evergreenshittery I haven't revised/tested.
- bpizzi 8y agoNot sure if you were being sarcastic... But this is exactly what 'go mod' is NOT doing. It's called 'Minimal Version Selection'. Quoted right from the lead core dev's blog: ' For stable development, today's build list must also be tomorrow's build list.' (https://research.swtch.com/vgo-mvs https://research.swtch.com/vgo-mvs). From what I gathered, 'go mod' is the first mainstream tool which is going that way (but I would be glad to be proved wrong!). Other package manager are using lock files which have their caveats (see https://research.swtch.com/cargo-newest.html https://research.swtch.com/cargo-newest.html for an in depth examination of the revered cargo approach on low-fidelity builds).
- greysteil 8y agoThe version resolution algorithm is very similar to NuGet's "lowest applicable version" logic, which has been around since 2010. I've seen surprisingly little discussion of the fact they're so similar. https://docs.microsoft.com/en-us/nuget/consume-packages/dependency-resolution#dependency-resolution-rules https://docs.microsoft.com/en-us/nuget/consume-packages/depe...
- deleted 8y ago[deleted]