-
Notifications
You must be signed in to change notification settings - Fork 536
Description
This is going to be weird, but we need something...
First, we want to vendor code into the vendor dir with glide.
Issue: we still build using go-1.4 for production binaries (we have a major perf hit in 1.5 and 1.6, we're working on it). Obviously, go-1.4 does not support the vendor dir. With Godep we have a choice - godep restore
will check out the vendored revisions into my GOPATH so I can go build
, or I can say godep go build
and it will munge my GOPATH and build.
Glide seems to sort of kind of, but not really, support something similar in the form of glide update -u --cache-gopath --strip-vcs --strip-vendor
- this pulls all the revisions from upstream and stores them in my GOPATH. But in so doing, it removes and re-adds them in my project (which leaves a mess if it is aborted or crashes or anything) and it always updates glide.lock (just the timestamp).
We also do this in our CI to make sure that our vendor dir is still recreate-able from upstream and that the Godeps file (soon to be a glide file) is valid. Changing glide.lock makes it harder to detect success (defined as no net change).
Is there any way to do a "non-modifying" operation that doesn't futz with glide.lock or my local vendor dir, but still pulls the versioned code from upstream into my GOPATH and strips VCS and vendor dirs? Or maybe we can live with messing with the local dirs but not changing glide.lock ?