Upgrades that are not compatible in the go language should use the following forms: https://blog.golang.org/v2-go-modules instead of simply upgrading tags, this is because go get -u will upgrade the direct and indirect dependencies in the project. This will upgrade the indirect dependencies if possible Will cause code incompatibility, as shown below:
To Reproduce
Steps to reproduce the behavior:
I have 2 projects A, B, and B depends on A, A depends on go2sky@v0.3.0:
A: v1 (dep: go2sky)
B: v1 (dep: B)
when you use go get -u in B project. A(direct dependency) and go2sky (indirect dependencies) will upgrade to latest, If the v0.5.0 version of go2sky is not backward compatible, B project will get error
Expected behavior
Incompatible upgrades can follow golang version management specifications
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
OS: [e.g. iOS]
Version [e.g. 22]
Additional context
Add any other context about the problem here.
Describe the bug
Upgrades that are not compatible in the go language should use the following forms: https://blog.golang.org/v2-go-modules instead of simply upgrading tags, this is because
go get -u
will upgrade the direct and indirect dependencies in the project. This will upgrade the indirect dependencies if possible Will cause code incompatibility, as shown below:To Reproduce Steps to reproduce the behavior:
I have 2 projects A, B, and B depends on A, A depends on go2sky@v0.3.0:
A: v1 (dep: go2sky) B: v1 (dep: B)
when you use
go get -u
in B project. A(direct dependency) and go2sky (indirect dependencies) will upgrade to latest, If the v0.5.0 version of go2sky is not backward compatible, B project will get errorExpected behavior
Incompatible upgrades can follow golang version management specifications
Screenshots If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context Add any other context about the problem here.