Currently modules that have no releases do not fetch the latest code, even when go get -u is run. Essentially there is a user-hostile edge-case in go get workflow:
If the dependency has releases, then use go get -u, else use go get module/path@master
The code that was present on the first go get of the module is still used until a new release is cut and go get -u is run. It is possible to manually update the module without a release by doing go get module/path@master, but I think it would make sense to see this behavior be the default for modules without releases.
Steps to reproduce
- Create a repository and init a module for it
- Do not cut a release of this repository
- Use unreleased module and repository as a dependency in another program
- Update the unreleased module's code
- Try to
go get -u the unreleased module from your other program
- Notice that the build does not contain the newest code from the unreleased module
Currently modules that have no releases do not fetch the latest code, even when
go get -uis run. Essentially there is a user-hostile edge-case ingo getworkflow:If the dependency has releases, then use
go get -u, else usego get module/path@masterThe code that was present on the first
go getof the module is still used until a new release is cut andgo get -uis run. It is possible to manually update the module without a release by doinggo get module/path@master, but I think it would make sense to see this behavior be the default for modules without releases.Steps to reproduce
go get -uthe unreleased module from your other program