Re:Go 1.5's vendor/ experiment
by cledet on Thursday July 09, 2015 @11:12PM
(#9862099)
Correct me if I'm wrong but doesn't remote packages have the same side-effects as this experimental vendoring?
[ Parent
| on HN ]
What are remote packages?
When you run `go get` and import packages from a remote Git or Mercurial repository. At least that's what Go docs call it[1].
If by "same side effects" you mean multiple versions of the same library causing issues, I don't think so. Using "go get" you will end up with only a single version of a library for a given path.
Almost, I mean you can only use a single version at a given time. An example would be if an imported library and its importer uses the same dependencies but one used an older API.
I think that is solved by the vendor thing. You can have two versions of the dependency, e.g. "vendor/dependency" and "vendor/library/vendor/dependency" and, with the caveats mentioned elsewhere (global name conflicts, similar-looking but different types, etc) it should work fine.