-
Notifications
You must be signed in to change notification settings - Fork 635
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
clean up replace directives in go.mod #560
Conversation
ab17e27
to
2d76f6e
Compare
Signed-off-by: Tariq Ibrahim <[email protected]>
2d76f6e
to
93b39b6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Duplicate of #529
Thanks @tariq1890. @klueska had the following question: It would be good to understand why it was needed in the past, but if things actually compile without doing the explicit replace anymore, then that is clearly better. I also asked on k8s Slack: https://kubernetes.slack.com/archives/C09R23FHP/p1708089275684879 |
I would say that the replace directives are mostly needed when we have conflicting transitive dependencies. It might have been the case previously, but not anymore. If we seek to understand why it was needed , we would have to look at the git history and check the So long as we keep our dependencies up to date, we wouldn't encounter these transitive dependency conflicts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm happy to merge this and revisit one we have some more experience with these.
It seems as if there is precedent to not include them -- e.g. helm -- and this would definitely improve our dependency experience.
The replace directives aren't needed. This change does not alter the
go.sum
checksums, so the dependency tree is maintained as-isThis improves readability of the go.mod and makes it easier for others to discern the dependency tree of k8s-device-plugin