We've agreed to preserve vendoring at the root of the top-level module in a build but we haven't worked out the details. That's this issue.
Related use-case/experience report: #24088
Change https://golang.org/cl/118316 mentions this issue: cmd/go/internal/vgo: add -getmode=local, -getmode=vendor build flag
@rsc can we please have an environment variable鈥攁kin to that venerable GO15VENDOREXPERIMENT鈥攚hich would enable the relevant vgo operations to always use -getmode=vendor (or whatever it will end up named)?
The reason is that while $enterprise borderline caching proxies are a good thing鈥攊n theory, in practice we here at $dayjob are not yet ready to deploy something like this and are already using vendoring as an almost perfect solution to combat both the different variants of the "left-pad problem" (including the "github is down" one) and the versioning problem鈥攅veryone get the set of vendored packages of blessed versions, and the vendored packages get upgraded by explicit manual intervention after much discussion and experimentation and tests.
We'd like this to be working as easy as it is now in perpetuity, if possible.
Most helpful comment
@rsc can we please have an environment variable鈥攁kin to that venerable
GO15VENDOREXPERIMENT鈥攚hich would enable the relevantvgooperations to always use-getmode=vendor(or whatever it will end up named)?The reason is that while $enterprise borderline caching proxies are a good thing鈥攊n theory, in practice we here at $dayjob are not yet ready to deploy something like this and are already using vendoring as an almost perfect solution to combat both the different variants of the "left-pad problem" (including the "github is down" one) and the versioning problem鈥攅veryone get the set of vendored packages of blessed versions, and the vendored packages get upgraded by explicit manual intervention after much discussion and experimentation and tests.
We'd like this to be working as easy as it is now in perpetuity, if possible.