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

gvt fetch/update cycle review #48

Open
arcolife opened this issue Jul 20, 2018 · 0 comments
Open

gvt fetch/update cycle review #48

arcolife opened this issue Jul 20, 2018 · 0 comments
Assignees
Labels
B-level slightly non-trivial with intermediate difficulty enhancement New feature or request help wanted Extra attention is needed
Milestone

Comments

@arcolife
Copy link
Collaborator

here's the scenario, that is hurtful with gvt right now:

  1. Bob adds 2 packages which have N deps. Gets updated into vendor/manifest
  2. one of the packages from group N gets an update on its github. In this case it's testdata folder inside grpc library. So when Bob runs a test. It fails, because the update is missing from the git version.
[test]              /src:/src/..
[test]              src/vendor/google.golang.org/grpc/benchmark/worker/benchmark_client.go:38:2: cannot find package "google.golang.org/grpc/testdata" in any of:
[test]              	/src/src/vendor/google.golang.org/grpc/testdata (vendor tree)
[test]              	/src/src/vendor/google.golang.org/grpc/testdata
[test]              	/usr/local/go/src/google.golang.org/grpc/testdata (from $GOROOT)
[test]              	/src/src/google.golang.org/grpc/testdata (from $GOPATH)
[test]              	/src/google.golang.org/grpc/testdata
  1. . Bob performs a gvt update for that specific package. He sees a change reflected in manifest for grpc-go.
                        "vcs": "git",
-                       "revision": "b519e3d28d377e55a0d44c9b83e6aee4d02d731d",
+                       "revision": "445634bdcc9393d2681e504aafd3efc9b28c4bf2",
                        "branch": "master",
  1. And so determined that all that's needed is done, he performs another test with hmake test. But he still gets:
[test]              /src:/src/..
[test]              src/vendor/google.golang.org/grpc/benchmark/worker/benchmark_client.go:38:2: cannot find package "google.golang.org/grpc/testdata" in any of:
[test]              	/src/src/vendor/google.golang.org/grpc/testdata (vendor tree)
[test]              	/src/src/vendor/google.golang.org/grpc/testdata
[test]              	/usr/local/go/src/google.golang.org/grpc/testdata (from $GOROOT)
[test]              	/src/src/google.golang.org/grpc/testdata (from $GOPATH)
[test]              	/src/google.golang.org/grpc/testdata
  1. So he checks the folder for latest from https://github.com/grpc/grpc-go/tree/master/testdata
ls vendor/google.golang.org/grpc/testdata                        ✔  5579  18:43:36
ls: vendor/google.golang.org/grpc/testdata: No such file or directory
  1. So to solve this for now, Bob performs a go get -u google.golang.org/grpc and solves this with cp -r $GOPATH/src/google.golang.org/grpc/testdata src/vendor/google.golang.org/grpc/

But bob is guilty as charged.

And tired of this game of deps, he wants to get rid of this problem, along with this #39 and FiloSottile/gvt#16 (gvt delete doesn't clear all deps, or does it?)

Also, if impossible, Bob would probably go for golang/dep#679

@arcolife arcolife added the B-level slightly non-trivial with intermediate difficulty label Jul 20, 2018
@arcolife arcolife added this to the Alpha 1 milestone Jul 20, 2018
@arcolife arcolife added enhancement New feature or request help wanted Extra attention is needed labels Jul 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B-level slightly non-trivial with intermediate difficulty enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants