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

Revendor all deps with gvt #17

Merged
merged 5 commits into from
Feb 25, 2017
Merged

Revendor all deps with gvt #17

merged 5 commits into from
Feb 25, 2017

Conversation

ryboe
Copy link
Contributor

@ryboe ryboe commented Feb 19, 2017

github.com/sergi/go-diff/diffmatchpatch
github.com/yudai/golcs
github.com/urfave/cli
  • fix problematic vendoring of github.com/onsi/ginkgo
  • change references to codegangsta/cli to urfave/cli. codegangsta changed his name :)
  • fix incorrect commit hash for codegangsta/cli in the manifest
  • update urfave/cli to latest master commit, since the version in Godeps.json doesn't build
  • delete a little bloat from vendor/, including...
    • README files
    • internal Perl scripts from golang.org/x/sys/unix
    • a vendored wercker.yml file
  • reduce number of entries in the manifest from 33 to 9
  • remove fetching of godep from the Makefile. now you can just clone and go build
  • remove make tools from wercker.yml since it's no longer necessary to fetch godep.

Sorry for the large PR 🙇, but there's nothing optional here if we want to get gojsondiff in a buildable state. With the exception of urfave/cli, all the revendored code is identical to the godep vendored code, so I would consider this PR low-risk 🙏.

How to update deps with gvt

go get -u github.com/FiloSottile/gvt
cd $GOPATH/src/github.com/yudai/gojsondiff
gvt delete github.com/foo/bar

# use --branch, --tag, or --revision flag if you want a specific version of bar
gvt fetch github.com/foo/bar

Why gvt is better than godep

While we wait for the official dep tool from the Go team, Glide and gvt are the best we've got. gvt is the simpler of the two and more appropriate for a small project like this IMHO. It works just like go get, but you can specify a --branch, --tag, or --revision. godep was the first popular vendoring tool for Go, but it has two fatal flaws:

  1. It copies pkgs from the global pool of code in your $GOPATH, which is always changing
  2. It doesn't do what you expect (See Missing dependencies in vendor/ #16).

@yudai yudai merged commit 81accc2 into yudai:master Feb 25, 2017
@yudai
Copy link
Owner

yudai commented Feb 25, 2017

Thanks!

@ryboe
Copy link
Contributor Author

ryboe commented Feb 25, 2017

🙇

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.

Missing dependencies in vendor/
2 participants