You're pretty late to the discussion. Here's some background reading.
Dave
Yes, exactly.
--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
How about a tag? which developers should be doing as part of any mature release process.
What is wrong with using git submodules inside the vendor directory, submodules pointing to the tag/revision of your choice?
--
Go is strongly opinionated about strategies (reduce errors, simplify structure, rapid builds, memory safety, etc.) but is agnostic about most everything else. Even if the Go team uses CPU X, OS Y, VCS Z, that’s just an example from a multiplicity of present and future choices. The design of Go needs to span the present and the future—whatever comes after intel/arm/power, linux/macOS/windows, sccs/rcs/git, vi/emacs/sublime, and so on in every dimension. It is hard to do at all, much less broadly and elegantly.
--
Michael T. Jones
http://
prefix."The complier assigns the meaning that a compiled package must exists in a subdirectory with a name that matches the import part, plus .a, in a path provided by the -I flag.
The go tool goes further to interpret the contents of the import path as a URL where it will either find a vcs repo or a piece of metadata pointing it to a repo.
I like submodules, but they do only work when you're using git and only vendoring projects that also use git.
That's somewhat the intent in enabling the timestamping of packages especially wrt. library-vendored package.Flattening dependencies will still be needed but it would be simply a matter of switching a package to the latest package release that a package may have vendored.