Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release tag format, compatibility with the Go versioning proposal #985

Closed
fd0 opened this issue May 26, 2018 · 6 comments
Closed

release tag format, compatibility with the Go versioning proposal #985

fd0 opened this issue May 26, 2018 · 6 comments

Comments

@fd0
Copy link
Contributor

fd0 commented May 26, 2018

Hey,

when testing if restic compiles with vgo, the prototype implementation for adding versioning to the Go toolchain, I noticed that some time ago you switched from release tags in the form v1.2.3 (as required by vgo) to 1.2.3, so the v prefix was dropped.

This leads to vgo selecting the v1.0.0 release tag, which is ancient:

vgo: import "github.com/restic/restic/cmd/restic" ->
        import "github.com/restic/restic/internal/backend/location" ->
        import "github.com/restic/restic/internal/backend/s3" ->
        import "github.com/minio/minio-go/pkg/credentials" [/home/fd0/gopath/src/v/github.com/minio/minio-go@v1.0.0/pkg/credentials]: open /home/fd0/gopath/src/v/github.com/minio/minio-go@v1.0.0/pkg/credentials: no such file or directory

Would you mind adding a second tag v6.0.1 which points to the same commit the tag 6.0.1 does, and tagging future releases with the v prefix? That'd be awesome :)

Thanks!

@harshavardhana
Copy link
Member

We can definitely do that, let me see if we can edit older tags and avoid using v since we have automated most of our releases this is currently harder to do.

@fd0
Copy link
Contributor Author

fd0 commented May 27, 2018

As far as I can see it's not necessary to change older tags, adding the ones with the v prefix and leaving the old ones as they are should be sufficient.

I'm not sure what you mean with "avoiding using v": It'd be great if new releases have the v prefix :)

@cloudlena
Copy link

New releases should absolutely have the v prefix. That's required by vgo and recommended by GitHub.

@harshavardhana
Copy link
Member

I am not sure why vgo choose "v" prefix are you saying it doesn't work without v prefix at all??

@fd0
Copy link
Contributor Author

fd0 commented May 27, 2018

As far as I understood the implementation and the proposal, version tags are required to start with v (e.g. v1.2.3). You can see with the minio-go repo that the vgo prototype does not consider tags without the v prefix.

I don't know why this was chosen, maybe it was even arbitrarily, but that's the way it is. :)

harshavardhana added a commit to harshavardhana/minio-go that referenced this issue May 28, 2018
This change is needed to follow `vgo` guidelines
put forth by Go community.

https://github.com/golang/vgo/blob/master/vendor/cmd/go/internal/semver/semver.go#L6

> // semantic version strings must begin with a leading "v"

Supported format style

https://github.com/golang/vgo/blob/master/vendor/cmd/go/internal/semver/semver.go#L11

> //	vMAJOR[.MINOR[.PATCH[-PRERELEASE][+BUILD]]]

Fixes minio#985
@kannappanr kannappanr added this to the Current milestone May 29, 2018
kannappanr pushed a commit that referenced this issue May 29, 2018
This change is needed to follow `vgo` guidelines
put forth by Go community.

https://github.com/golang/vgo/blob/master/vendor/cmd/go/internal/semver/semver.go#L6

> // semantic version strings must begin with a leading "v"

Supported format style

https://github.com/golang/vgo/blob/master/vendor/cmd/go/internal/semver/semver.go#L11

> //	vMAJOR[.MINOR[.PATCH[-PRERELEASE][+BUILD]]]

Fixes #985
@fd0
Copy link
Contributor Author

fd0 commented May 29, 2018

Cool, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants