Closed dave-tucker closed 8 years ago
/cc @aduermael @gdevillele tried to keep this as small/simple as possible (amount of vendored code makes it looks worse than it is). This is pretty much ready to merge, but tagged it as WIP until we've had a chance to discuss
@dave-tucker: I'll have a deeper look at this sometime this week. But I don't really like Godep myself... The experimental vendoring in Go 1.5 is pretty cool, it should turn to non-experimental soon (hopefully). Apparently, Godep also requires GO15VENDOREXPERIMENT=1, but then, what is Godep providing on top of experimental vendoring?
In a general manner, I think the same as @aduermael about go vendoring. I am not 100% sure about what is best for now, but I am quite sure that we should use this new Go vendoring feature, at least when it won't be experimental anymore 😊 It is fine with me of we use it from now on... About godep, I would be happy to know more about it and why it is eventually a good choice/fit ;)
@aduermael @gdevillele I have a love hate relationship with Godep... but in the my last 2 years of gopher'ing, it's been the most dependable tool I could find.
Love:
...
notation - cool! so I can godep update github.com/docker/...
Hate:
restore
d there isn't a way to go back to the previous state so you end up with a load of projects in detached head state :disappointed: save -r
which gives you REALLY long imports... You need to prefix every command with godep
godep
on your build machines etc...Pre 1.5, all deps will end up in Godeps/_workspace/src/...
The godep go
command rewrites the $GOPATH to Godeps/_workspace/src/...
so you get your vendored dependencies
With Go 1.5 the new GO15VENDOREXPERIMENT=1
standardises on dependencies living in ./vendor
and looks there first. So no need to prefix every go
command with godep
- cool!
As more of a meta-point, we use it in machine
, distribution
, libnetwork
and probably in other places too!
Lots of discussion has been around using Godeps in docker/docker, see for reference https://github.com/docker/docker/pull/13756 (also contains suggestions for alternatives), and eventually closed in favor of https://github.com/docker/docker/pull/13783. No opinions from my side, just adding some history regarding this sensitive subject :smile:
Thanks @thaJeztah
Closing in favour of #48