* e.g. Uber uses it https://github.com/uber/tchannel-go
* e.g. Uber uses it https://github.com/uber/tchannel-go
The thing I really love about the golang vendor/ approach is that the dumbest possible way just works - the code is all there.
Glide gets pretty far away from that. The perfect model (or one which would produce the prettiest git diffs) would probably be a tool which kept the actual vendor'd packages under their own branch forks in the same git repo and checked them all out when you need them, just so vendoring changes wouldn't wind up being huge source tree diffs).
If I could have PRs by default fold vendor/ folders for me, then yeah - problem solved more or less.
But I totally lament the lack of use of tagged releases on GitHub. Sometimes I am looking for versions before some things but after others, for some reason, and it can be very hard to find in a commit list where the code was stable/functional. Depending on the repository, you often can't trust current master to be stable code either.