Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate from glock to govendor #4620

Closed
wants to merge 5 commits into from
Closed

Migrate from glock to govendor #4620

wants to merge 5 commits into from

Conversation

maddyblue
Copy link
Contributor

Review on Reviewable

@bdarnell
Copy link
Member

I am strongly opposed to checking in a snapshot of all our dependencies' source like this. It bloats the repo and makes it difficult to make local changes in a way that can be contributed upstream. My preferences (in order) would be:

  1. Use some tool to pull in the dependencies at build time like glock does
  2. git submodules
  3. git subtree (which still bloats the repo but has better tracking of upstream revisions)

@tamird
Copy link
Contributor

tamird commented Feb 25, 2016

+1 for the same reasons.

On Wed, Feb 24, 2016 at 5:22 PM, Ben Darnell notifications@github.com
wrote:

I am strongly opposed to checking in a snapshot of all our dependencies'
source like this. It bloats the repo and makes it difficult to make local
changes in a way that can be contributed upstream. My preferences (in
order) would be:

  1. Use some tool to pull in the dependencies at build time like glock
    does
  2. git submodules
  3. git subtree (which still bloats the repo but has better tracking of
    upstream revisions)


Reply to this email directly or view it on GitHub
#4620 (comment)
.

@maddyblue
Copy link
Contributor Author

Ok. Never mind I guess. I have zero interest in using git trickery. I think doing the first suggestion there (pulling in at build time) is wrong, because to me one of the major benefits of having the code in the repo is being able to create reproducible builds. I don't care about the repo bloat at all. It's just some more files. The upstream thing is true, but I think the benefits outweigh those issues.

@kardianos
Copy link
Contributor

Remote dep fetch and sync is on govendor roadmap. Next item actually. This is one of the projects I will ensure works with current workflow.

Benefit over glock is use of vendor folder, which lets you share GOPATH with other projects.

@maddyblue
Copy link
Contributor Author

@kardianos Thanks. Can you either update this issue or provide one for us to track so we can try it out once it's done?

@maddyblue
Copy link
Contributor Author

https://medium.com/@azerbike/i-ve-just-liberated-my-modules-9045c06be67c#.vz5v94ygo is exactly why I think vendoring is a great idea. If we don't put all of the code into our repo, we can get into a situation exactly like this where cockroach is unbuildable from a fresh $GOPATH because someone just decided to unpublish their code.

@abh
Copy link

abh commented Aug 24, 2016

+2 on vendoring. The current scheme is really unfriendly to new users. In my experience it also has a side-effect of not appreciating the cost of adding dependencies; as a developer it feels too cheap to add "just one more".

@dt
Copy link
Member

dt commented Aug 25, 2016

@abh there's another vendoring PR out that takes a slightly different approach -- adding a submodule -- but achieves mostly the same results: #8618

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants