golang / dep

Go dependency management tool experiment (deprecated)
https://golang.github.io/dep/
BSD 3-Clause "New" or "Revised" License
12.87k stars 1.05k forks source link

`dep ensure` on package in vendor, reinstall the package itself on vendor #1885

Closed shuLhan closed 5 years ago

shuLhan commented 6 years ago

Reproduction Steps

Let's say I have package A on GOPATH. Then I cloned chronograf to vendor directory. Directory structure on A will look like these,

master ms 0 % tree -L 1 vendor/github.com/influxdata
vendor/github.com/influxdata
├── chronograf

Just to make sure, I clean the repo,

1:08 ~/tmp/sandbox/go/src/bug/godep/vendor/github.com/influxdata/chronograf
master ms 0 % git status
On branch master
Your branch and 'origin/master' have diverged,
and have 36 and 313 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

nothing to commit, working tree clean

1:08 ~/tmp/sandbox/go/src/bug/godep/vendor/github.com/influxdata/chronograf
master ms 0 % git reset --hard HEAD
HEAD is now at 4a97c338e Bump version and update changelog

1:08 ~/tmp/sandbox/go/src/bug/godep/vendor/github.com/influxdata/chronograf
master ms 0 % git clean -qdff

1:08 ~/tmp/sandbox/go/src/bug/godep/vendor/github.com/influxdata/chronograf
master ms 0 % rm -rf vendor

Then I run dep ensure,

1:09 ~/tmp/sandbox/go/src/bug/godep/vendor/github.com/influxdata/chronograf
master ms 0 % dep ensure -v
Root project is "bug/godep/vendor/github.com/influxdata/chronograf"
 23 transitively valid internal packages
 53 external packages imported from 22 projects
(0)   ✓ select (root)
(1)     ? attempt github.com/NYTimes/gziphandler with 1 pkgs; at least 1 versions to try
(1)         try github.com/NYTimes/gziphandler@6710af535839f57c687b62c4c23d649f9545d885
(1)     ✓ select github.com/NYTimes/gziphandler@6710af535839f57c687b62c4c23d649f9545d885 w/1 pkgs
(2)     ? attempt github.com/Sirupsen/logrus with 1 pkgs; at least 1 versions to try
(2)         try github.com/Sirupsen/logrus@3ec0642a7fb6488f65b06f9040adc67e3990296a
(2)     ✓ select github.com/Sirupsen/logrus@3ec0642a7fb6488f65b06f9040adc67e3990296a w/1 pkgs
(3)     ? attempt github.com/boltdb/bolt with 1 pkgs; at least 1 versions to try
(3)         try github.com/boltdb/bolt@5cc10bbbc5c141029940133bb33c9e969512a698
(3)     ✓ select github.com/boltdb/bolt@5cc10bbbc5c141029940133bb33c9e969512a698 w/1 pkgs
(4)     ? attempt github.com/dgrijalva/jwt-go with 1 pkgs; at least 1 versions to try
(4)         try github.com/dgrijalva/jwt-go@24c63f56522a87ec5339cc3567883f1039378fdb
(4)     ✓ select github.com/dgrijalva/jwt-go@24c63f56522a87ec5339cc3567883f1039378fdb w/1 pkgs
(5)     ? attempt github.com/bouk/httprouter with 1 pkgs; at least 1 versions to try
(5)         try github.com/bouk/httprouter@ee8b3818a7f51fbc94cc709b5744b52c2c725e91
(5)     ✓ select github.com/bouk/httprouter@ee8b3818a7f51fbc94cc709b5744b52c2c725e91 w/1 pkgs
(6)     ? attempt github.com/jessevdk/go-flags with 1 pkgs; at least 1 versions to try
(6)         try github.com/jessevdk/go-flags@4cc2832a6e6d1d3b815e2b9d544b2a4dfb3ce8fa
(6)     ✓ select github.com/jessevdk/go-flags@4cc2832a6e6d1d3b815e2b9d544b2a4dfb3ce8fa w/1 pkgs
(7)     ? attempt github.com/google/go-github with 1 pkgs; at least 1 versions to try
(7)         try github.com/google/go-github@1bc362c7737e51014af7299e016444b654095ad9
(7)     ✓ select github.com/google/go-github@1bc362c7737e51014af7299e016444b654095ad9 w/1 pkgs
(8)     ? attempt github.com/gogo/protobuf with 4 pkgs; at least 1 versions to try
(8)         try github.com/gogo/protobuf@49944b4a4b085da44c43d4b233ea40787396371f
(8)     ✓ select github.com/gogo/protobuf@49944b4a4b085da44c43d4b233ea40787396371f w/28 pkgs
(9)     ? attempt github.com/influxdata/kapacitor with 6 pkgs; at least 1 versions to try
(9)         try github.com/influxdata/kapacitor@4f10efc41b4dcac070495cf95ba2c41cfcc2aa3a
(9)     ✓ select github.com/influxdata/kapacitor@4f10efc41b4dcac070495cf95ba2c41cfcc2aa3a w/8 pkgs
(10)  ? attempt github.com/dustin/go-humanize with 1 pkgs; at least 1 versions to try
(10)      try github.com/dustin/go-humanize@master
(10)  ✓ select github.com/dustin/go-humanize@master w/1 pkgs
(11)  ? attempt github.com/influxdata/influxdb with 1 pkgs; at least 1 versions to try
(11)      try github.com/influxdata/influxdb@v1.1.5
(11)  ✓ select github.com/influxdata/influxdb@v1.1.5 w/5 pkgs
(12)  ? attempt golang.org/x/sys with 1 pkgs; at least 1 versions to try
(12)      try golang.org/x/sys@master
(12)  ✓ select golang.org/x/sys@master w/1 pkgs
(13)  ? attempt github.com/elazarl/go-bindata-assetfs with 1 pkgs; at least 1 versions to try
(13)      try github.com/elazarl/go-bindata-assetfs@9a6736ed45b44bf3835afeebb3034b57ed329f3e
(13)  ✓ select github.com/elazarl/go-bindata-assetfs@9a6736ed45b44bf3835afeebb3034b57ed329f3e w/1 pkgs
(14)  ? attempt github.com/sergi/go-diff with 1 pkgs; at least 1 versions to try
(14)      try github.com/sergi/go-diff@1d28411638c1e67fe1930830df207bef72496ae9
(14)  ✓ select github.com/sergi/go-diff@1d28411638c1e67fe1930830df207bef72496ae9 w/1 pkgs
(15)  ? attempt github.com/google/go-querystring with 1 pkgs; at least 1 versions to try
(15)      try github.com/google/go-querystring@master
(15)  ✓ select github.com/google/go-querystring@master w/1 pkgs
(16)  ? attempt github.com/kevinburke/go-bindata with 1 pkgs; at least 1 versions to try
(16)      try github.com/kevinburke/go-bindata@46eb4c183bfc1ebb527d9d19bcded39476302eb8
(16)  ✓ select github.com/kevinburke/go-bindata@46eb4c183bfc1ebb527d9d19bcded39476302eb8 w/1 pkgs
(17)  ? attempt github.com/golang/protobuf with 1 pkgs; at least 1 versions to try
(17)      try github.com/golang/protobuf@v1.0.0
(17)  ✓ select github.com/golang/protobuf@v1.0.0 w/1 pkgs
(18)  ? attempt github.com/pkg/errors with 1 pkgs; at least 1 versions to try
(18)      try github.com/pkg/errors@v0.8.0
(18)  ✓ select github.com/pkg/errors@v0.8.0 w/1 pkgs
(19)  ? attempt github.com/influxdata/usage-client with 1 pkgs; at least 1 versions to try
(19)      try github.com/influxdata/usage-client@6d3895376368aa52a3a81d2a16e90f0f52371967
(19)  ✓ select github.com/influxdata/usage-client@6d3895376368aa52a3a81d2a16e90f0f52371967 w/1 pkgs
(20)  ? attempt github.com/tylerb/graceful with 1 pkgs; at least 1 versions to try
(20)      try github.com/tylerb/graceful@v1.2.15
(20)  ✓ select github.com/tylerb/graceful@v1.2.15 w/1 pkgs
(21)  ? attempt google.golang.org/api with 1 pkgs; at least 1 versions to try
(21)      try google.golang.org/api@bc20c61134e1d25265dd60049f5735381e79b631
(21)  ✓ select google.golang.org/api@bc20c61134e1d25265dd60049f5735381e79b631 w/4 pkgs
(22)  ? attempt github.com/google/go-cmp with 2 pkgs; at least 1 versions to try
(22)      try github.com/google/go-cmp@v0.1.0
(22)  ✓ select github.com/google/go-cmp@v0.1.0 w/5 pkgs
(23)  ? attempt github.com/influxdata/chronograf with 20 pkgs; 203 versions to try
(23)      try github.com/influxdata/chronograf@1.3.0
(24)  ✗   github.com/influxdata/chronograf at 1.3.0 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/noop is missing; required by (root).   github.com/influxdata/chronograf/organizations is missing; required by (root).  github.com/influxdata/chronogr
af/roles is missing; required by (root).        github.com/influxdata/chronograf/filestore is missing; required by (root).      github.com/influxdata/chronograf/id is missing; required by (root).  g
ithub.com/influxdata/chronograf/multistore is missing; required by (root).
(23)      try github.com/influxdata/chronograf@1.3.0-rc1
(24)  ✗   github.com/influxdata/chronograf at 1.3.0-rc1 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/roles is missing; required by (root).  github.com/influxdata/chronograf/filestore is missing; required by (root).      github.com/influxdata/chronogr
af/id is missing; required by (root).   github.com/influxdata/chronograf/multistore is missing; required by (root).     github.com/influxdata/chronograf/noop is missing; required by (root).   github
.com/influxdata/chronograf/organizations is missing; required by (root).
(23)      try github.com/influxdata/chronograf@1.2.0-beta9
(24)  ✗   github.com/influxdata/chronograf at 1.2.0-beta9 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/filestore is missing; required by (root).      github.com/influxdata/chronograf/id is missing; required by (root).     github.com/influxdata/chronogr
af/multistore is missing; required by (root).   github.com/influxdata/chronograf/noop is missing; required by (root).   github.com/influxdata/chronograf/organizations is missing; required by (root).
github.com/influxdata/chronograf/roles is missing; required by (root).
(23)      try github.com/influxdata/chronograf@1.2.0-beta8
(24)  ✗   github.com/influxdata/chronograf at 1.2.0-beta8 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/roles is missing; required by (root).  github.com/influxdata/chronograf/filestore is missing; required by (root).      github.com/influxdata/chronogr
af/id is missing; required by (root).   github.com/influxdata/chronograf/influx/queries is missing; required by (root). github.com/influxdata/chronograf/multistore is missing; required by (root).  g
ithub.com/influxdata/chronograf/noop is missing; required by (root).    github.com/influxdata/chronograf/organizations is missing; required by (root).
(23)      try github.com/influxdata/chronograf@1.2.0-beta7
(24)  ✗   github.com/influxdata/chronograf at 1.2.0-beta7 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/filestore is missing; required by (root).      github.com/influxdata/chronograf/id is missing; required by (root).     github.com/influxdata/chronogr
af/influx/queries is missing; required by (root).       github.com/influxdata/chronograf/memdb is missing; required by (root).  github.com/influxdata/chronograf/multistore is missing; required by (r
oot).   github.com/influxdata/chronograf/noop is missing; required by (root).   github.com/influxdata/chronograf/organizations is missing; required by (root).  github.com/influxdata/chronograf/roles
 is missing; required by (root).
(23)      try github.com/influxdata/chronograf@1.2.0-beta6
(24)  ✗   github.com/influxdata/chronograf at 1.2.0-beta6 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/filestore is missing; required by (root).      github.com/influxdata/chronograf/id is missing; required by (root).     github.com/influxdata/chronogr
af/influx/queries is missing; required by (root).       github.com/influxdata/chronograf/memdb is missing; required by (root).  github.com/influxdata/chronograf/multistore is missing; required by (r
oot).   github.com/influxdata/chronograf/noop is missing; required by (root).   github.com/influxdata/chronograf/organizations is missing; required by (root).  github.com/influxdata/chronograf/roles
 is missing; required by (root).
(23)      try github.com/influxdata/chronograf@1.2.0-beta5
(24)  ✗   github.com/influxdata/chronograf at 1.2.0-beta5 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/influx/queries is missing; required by (root). github.com/influxdata/chronograf/memdb is missing; required by (root).  github.com/influxdata/chronogr
af/multistore is missing; required by (root).   github.com/influxdata/chronograf/noop is missing; required by (root).   github.com/influxdata/chronograf/organizations is missing; required by (root).
github.com/influxdata/chronograf/roles is missing; required by (root).  github.com/influxdata/chronograf/filestore is missing; required by (root).      github.com/influxdata/chronograf/id is missing
; required by (root).
(23)      try github.com/influxdata/chronograf@1.2.0-beta4
(24)  ✗   github.com/influxdata/chronograf at 1.2.0-beta4 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/organizations is missing; required by (root).  github.com/influxdata/chronograf/roles is missing; required by (root).  github.com/influxdata/chronogr
af/filestore is missing; required by (root).    github.com/influxdata/chronograf/id is missing; required by (root).     github.com/influxdata/chronograf/influx/queries is missing; required by (root)
.       github.com/influxdata/chronograf/memdb is missing; required by (root).  github.com/influxdata/chronograf/multistore is missing; required by (root).     github.com/influxdata/chronograf/noop
is missing; required by (root).
(23)      try github.com/influxdata/chronograf@1.2.0-beta3
(24)  ✗   github.com/influxdata/chronograf at 1.2.0-beta3 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/enterprise is missing; required by (root).     github.com/influxdata/chronograf/id is missing; required by (root).     github.com/influxdata/chronogr
af/mocks is missing; required by (root).        github.com/influxdata/chronograf/noop is missing; required by (root).   github.com/influxdata/chronograf/organizations is missing; required by (root).
github.com/influxdata/chronograf/filestore is missing; required by (root).      github.com/influxdata/chronograf/influx/queries is missing; required by (root). github.com/influxdata/chronograf/memdb
 is missing; required by (root).        github.com/influxdata/chronograf/multistore is missing; required by (root).     github.com/influxdata/chronograf/oauth2 is missing; required by (root). github
.com/influxdata/chronograf/roles is missing; required by (root).
(23)      try github.com/influxdata/chronograf@1.2.0-beta2
(24)  ✗   github.com/influxdata/chronograf at 1.2.0-beta2 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/oauth2 is missing; required by (root). github.com/influxdata/chronograf/organizations is missing; required by (root).  github.com/influxdata/chronogr
af/filestore is missing; required by (root).    github.com/influxdata/chronograf/id is missing; required by (root).     github.com/influxdata/chronograf/mocks is missing; required by (root).  github
.com/influxdata/chronograf/noop is missing; required by (root). github.com/influxdata/chronograf/roles is missing; required by (root).  github.com/influxdata/chronograf/enterprise is missing; requir
ed by (root).   github.com/influxdata/chronograf/influx/queries is missing; required by (root). github.com/influxdata/chronograf/memdb is missing; required by (root).  github.com/influxdata/chronogr
af/multistore is missing; required by (root).
(23)      try github.com/influxdata/chronograf@1.2.0-beta10
(24)  ✗   github.com/influxdata/chronograf at 1.2.0-beta10 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/roles is missing; required by (root).  github.com/influxdata/chronograf/filestore is missing; required by (root).      github.com/influxdata/chronogr
af/id is missing; required by (root).   github.com/influxdata/chronograf/multistore is missing; required by (root).     github.com/influxdata/chronograf/noop is missing; required by (root).   github
.com/influxdata/chronograf/organizations is missing; required by (root).
(23)      try github.com/influxdata/chronograf@1.2.0-beta1
(24)  ✗   github.com/influxdata/chronograf at 1.2.0-beta1 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/id is missing; required by (root).     github.com/influxdata/chronograf/memdb is missing; required by (root).  github.com/influxdata/chronograf/oauth
2 is missing; required by (root).       github.com/influxdata/chronograf/organizations is missing; required by (root).  github.com/influxdata/chronograf/roles is missing; required by (root).  github
.com/influxdata/chronograf/enterprise is missing; required by (root).   github.com/influxdata/chronograf/filestore is missing; required by (root).      github.com/influxdata/chronograf/influx/querie
s is missing; required by (root).       github.com/influxdata/chronograf/mocks is missing; required by (root).  github.com/influxdata/chronograf/multistore is missing; required by (root).     github
.com/influxdata/chronograf/noop is missing; required by (root).
(23)      try github.com/influxdata/chronograf@1.1.0-beta6
(24)  ✗   github.com/influxdata/chronograf at 1.1.0-beta6 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/influx/queries is missing; required by (root). github.com/influxdata/chronograf/memdb is missing; required by (root).  github.com/influxdata/chronogr
af/mocks is missing; required by (root).        github.com/influxdata/chronograf/multistore is missing; required by (root).     github.com/influxdata/chronograf/oauth2 is missing; required by (root)
.       github.com/influxdata/chronograf/enterprise is missing; required by (root).     github.com/influxdata/chronograf/id is missing; required by (root).     github.com/influxdata/chronograf/noop
is missing; required by (root). github.com/influxdata/chronograf/organizations is missing; required by (root).  github.com/influxdata/chronograf/roles is missing; required by (root).  github.com/inf
luxdata/chronograf/filestore is missing; required by (root).
(23)      try github.com/influxdata/chronograf@1.1.0-beta5
(24)  ✗   github.com/influxdata/chronograf at 1.1.0-beta5 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/noop is missing; required by (root).   github.com/influxdata/chronograf/oauth2 is missing; required by (root). github.com/influxdata/chronograf/enter
prise is missing; required by (root).   github.com/influxdata/chronograf/influx/queries is missing; required by (root). github.com/influxdata/chronograf/memdb is missing; required by (root).  github
.com/influxdata/chronograf/mocks is missing; required by (root).        github.com/influxdata/chronograf/multistore is missing; required by (root).     github.com/influxdata/chronograf/organizations
 is missing; required by (root).        github.com/influxdata/chronograf/roles is missing; required by (root).  github.com/influxdata/chronograf/filestore is missing; required by (root).      github
.com/influxdata/chronograf/id is missing; required by (root).
(23)      try github.com/influxdata/chronograf@1.1.0-beta4
(24)  ✗   github.com/influxdata/chronograf at 1.1.0-beta4 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/noop is missing; required by (root).   github.com/influxdata/chronograf/enterprise is missing; required by (root).     github.com/influxdata/chronogr
af/id is missing; required by (root).   github.com/influxdata/chronograf/memdb is missing; required by (root).  github.com/influxdata/chronograf/multistore is missing; required by (root).     github
.com/influxdata/chronograf/organizations is missing; required by (root).        github.com/influxdata/chronograf/roles is missing; required by (root).  github.com/influxdata/chronograf/filestore is
missing; required by (root).    github.com/influxdata/chronograf/influx/queries is missing; required by (root). github.com/influxdata/chronograf/mocks is missing; required by (root).  github.com/inf
luxdata/chronograf/oauth2 is missing; required by (root).
(23)      try github.com/influxdata/chronograf@1.1.0-beta3
(24)  ✗   github.com/influxdata/chronograf at 1.1.0-beta3 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/influx/queries is missing; required by (root). github.com/influxdata/chronograf/memdb is missing; required by (root).  github.com/influxdata/chronogr
af/mocks is missing; required by (root).        github.com/influxdata/chronograf/roles is missing; required by (root).  github.com/influxdata/chronograf/enterprise is missing; required by (root).  g
ithub.com/influxdata/chronograf/filestore is missing; required by (root).       github.com/influxdata/chronograf/id is missing; required by (root).     github.com/influxdata/chronograf/multistore is
 missing; required by (root).   github.com/influxdata/chronograf/noop is missing; required by (root).   github.com/influxdata/chronograf/oauth2 is missing; required by (root). github.com/influxdata/
chronograf/organizations is missing; required by (root).
(23)      try github.com/influxdata/chronograf@1.1.0-beta2
(24)  ✗   github.com/influxdata/chronograf at 1.1.0-beta2 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/enterprise is missing; required by (root).     github.com/influxdata/chronograf/filestore is missing; required by (root).      github.com/influxdata/
chronograf/memdb is missing; required by (root).        github.com/influxdata/chronograf/mocks is missing; required by (root).  github.com/influxdata/chronograf/multistore is missing; required by (r
oot).   github.com/influxdata/chronograf/roles is missing; required by (root).  github.com/influxdata/chronograf/id is missing; required by (root).     github.com/influxdata/chronograf/influx/querie
s is missing; required by (root).       github.com/influxdata/chronograf/noop is missing; required by (root).   github.com/influxdata/chronograf/oauth2 is missing; required by (root). github.com/inf
luxdata/chronograf/organizations is missing; required by (root).
(23)      try github.com/influxdata/chronograf@1.1.0-beta1
(24)  ✗   github.com/influxdata/chronograf at 1.1.0-beta1 has problem subpkg(s):
(24)            github.com/influxdata/chronograf/noop is missing; required by (root).   github.com/influxdata/chronograf/oauth2 is missing; required by (root). github.com/influxdata/chronograf/roles
 is missing; required by (root).        github.com/influxdata/chronograf/enterprise is missing; required by (root).     github.com/influxdata/chronograf/filestore is missing; required by (root).   g
ithub.com/influxdata/chronograf/memdb is missing; required by (root).   github.com/influxdata/chronograf/multistore is missing; required by (root).     github.com/influxdata/chronograf/organizations
 is missing; required by (root).        github.com/influxdata/chronograf/id is missing; required by (root).     github.com/influxdata/chronograf/influx/queries is missing; required by (root). github
.com/influxdata/chronograf/mocks is missing; required by (root).
(23)      try github.com/influxdata/chronograf@master
(23)  ✓ select github.com/influxdata/chronograf@master w/20 pkgs
(24)  ? attempt golang.org/x/net with 1 pkgs; at least 1 versions to try
(24)      try golang.org/x/net@749a502dd1eaf3e5bfd4f8956748c502357c0bbe
(24)  ✓ select golang.org/x/net@749a502dd1eaf3e5bfd4f8956748c502357c0bbe w/1 pkgs
(25)  ? attempt github.com/influxdata/ifql with 2 pkgs; at least 1 versions to try
(25)      try github.com/influxdata/ifql@9445c4494d4421db2ab1aaaf6f4069446f11752e
(25)  ✓ select github.com/influxdata/ifql@9445c4494d4421db2ab1aaaf6f4069446f11752e w/13 pkgs
(26)  ? revisit github.com/gogo/protobuf to add 1 pkgs
(26)    ✓ include 3 more pkgs from github.com/gogo/protobuf@49944b4a4b085da44c43d4b233ea40787396371f
(26)  ? attempt github.com/influxdata/tdigest with 1 pkgs; at least 1 versions to try
(27)      try github.com/influxdata/tdigest@master
(27)  ✓ select github.com/influxdata/tdigest@master w/1 pkgs
(27)  ? revisit golang.org/x/net to add 1 pkgs
(28)    ✓ include 2 more pkgs from golang.org/x/net@749a502dd1eaf3e5bfd4f8956748c502357c0bbe
(27)  ? attempt github.com/prometheus/client_golang with 1 pkgs; at least 1 versions to try
(29)      try github.com/prometheus/client_golang@v0.8.0
(29)  ✓ select github.com/prometheus/client_golang@v0.8.0 w/1 pkgs
(28)  ? attempt github.com/beorn7/perks with 1 pkgs; at least 1 versions to try
(30)      try github.com/beorn7/perks@master
(30)  ✓ select github.com/beorn7/perks@master w/1 pkgs
(29)  ? attempt golang.org/x/oauth2 with 3 pkgs; at least 1 versions to try
(31)      try golang.org/x/oauth2@2f32c3ac0fa4fb807a0fcefb0b6f2468a0d99bd0
(31)  ✓ select golang.org/x/oauth2@2f32c3ac0fa4fb807a0fcefb0b6f2468a0d99bd0 w/4 pkgs
(30)  ? attempt github.com/opentracing/opentracing-go with 1 pkgs; at least 1 versions to try
(32)      try github.com/opentracing/opentracing-go@v1.0.2
(32)  ✓ select github.com/opentracing/opentracing-go@v1.0.2 w/2 pkgs
(31)  ? attempt github.com/influxdata/yarpc with 2 pkgs; at least 1 versions to try
(33)      try github.com/influxdata/yarpc@master
(33)  ✓ select github.com/influxdata/yarpc@master w/4 pkgs
(32)  ? revisit github.com/gogo/protobuf to add 2 pkgs
(34)    ✓ include 3 more pkgs from github.com/gogo/protobuf@49944b4a4b085da44c43d4b233ea40787396371f
(32)  ? attempt github.com/influxdata/yamux with 1 pkgs; at least 1 versions to try
(35)      try github.com/influxdata/yamux@master
(35)  ✓ select github.com/influxdata/yamux@master w/1 pkgs
(33)  ? attempt github.com/satori/go.uuid with 1 pkgs; at least 1 versions to try
(36)      try github.com/satori/go.uuid@b061729afc07e77a8aa4fad0a2fd840958f1942a
(36)  ✓ select github.com/satori/go.uuid@b061729afc07e77a8aa4fad0a2fd840958f1942a w/1 pkgs
(34)  ? attempt github.com/prometheus/client_model with 1 pkgs; at least 1 versions to try
(37)      try github.com/prometheus/client_model@master
(37)  ✓ select github.com/prometheus/client_model@master w/1 pkgs
(35)  ? attempt github.com/prometheus/procfs with 1 pkgs; at least 1 versions to try
(38)      try github.com/prometheus/procfs@master
(38)  ✓ select github.com/prometheus/procfs@master w/4 pkgs
(36)  ? attempt google.golang.org/appengine with 1 pkgs; at least 1 versions to try
(39)      try google.golang.org/appengine@v1.0.0
(39)  ✓ select google.golang.org/appengine@v1.0.0 w/7 pkgs
(37)  ? attempt github.com/prometheus/common with 2 pkgs; at least 1 versions to try
(40)      try github.com/prometheus/common@master
(40)  ✓ select github.com/prometheus/common@master w/3 pkgs
(38)  ? attempt github.com/matttproud/golang_protobuf_extensions with 1 pkgs; at least 1 versions to try
(41)      try github.com/matttproud/golang_protobuf_extensions@v1.0.0
(41)  ✓ select github.com/matttproud/golang_protobuf_extensions@v1.0.0 w/1 pkgs
(39)  ? attempt github.com/influxdata/platform with 2 pkgs; 15 versions to try
(42)      try github.com/influxdata/platform@master
(42)  ✓ select github.com/influxdata/platform@master w/16 pkgs
(40)  ? attempt github.com/influxdata/line-protocol with 1 pkgs; 2 versions to try
(43)      try github.com/influxdata/line-protocol@master
(43)  ✓ select github.com/influxdata/line-protocol@master w/1 pkgs
  ✓ found solution with 151 packages from 40 projects

Solver wall times by segment:
     b-source-exists: 5m11.787608472s
    b-rev-present-in:     9.25993009s
         b-list-pkgs:    7.928918048s
              b-gmal:    7.078351958s
  b-deduce-proj-root:     1.06751793s
             satisfy:     36.507612ms
         select-atom:     31.752784ms
         select-root:     11.684474ms
            new-atom:      2.170475ms
     b-list-versions:       228.739µs
               other:       179.181µs
            add-atom:        21.394µs

  TOTAL: 5m37.204871157s

(1/40) Wrote github.com/sergi/go-diff@1d28411638c1e67fe1930830df207bef72496ae9
(2/40) Wrote github.com/prometheus/procfs@master
(3/40) Wrote github.com/prometheus/client_golang@v0.8.0
(4/40) Wrote github.com/google/go-cmp@v0.1.0
(5/40) Wrote google.golang.org/appengine@v1.0.0
(6/40) Wrote github.com/NYTimes/gziphandler@6710af535839f57c687b62c4c23d649f9545d885
(7/40) Wrote github.com/golang/protobuf@v1.0.0
(8/40) Wrote github.com/influxdata/tdigest@master
(9/40) Wrote github.com/google/go-querystring@master
(10/40) Wrote github.com/tylerb/graceful@v1.2.15
(11/40) Wrote github.com/influxdata/usage-client@6d3895376368aa52a3a81d2a16e90f0f52371967
(12/40) Wrote github.com/influxdata/platform@master
(13/40) Wrote golang.org/x/oauth2@2f32c3ac0fa4fb807a0fcefb0b6f2468a0d99bd0
(14/40) Wrote github.com/google/go-github@1bc362c7737e51014af7299e016444b654095ad9
(15/40) Wrote github.com/influxdata/ifql@9445c4494d4421db2ab1aaaf6f4069446f11752e
(16/40) Wrote github.com/satori/go.uuid@b061729afc07e77a8aa4fad0a2fd840958f1942a
(17/40) Wrote golang.org/x/net@749a502dd1eaf3e5bfd4f8956748c502357c0bbe
(18/40) Wrote github.com/prometheus/client_model@master
(19/40) Wrote github.com/influxdata/influxdb@v1.1.5
(20/40) Wrote github.com/prometheus/common@master
(21/40) Wrote github.com/influxdata/line-protocol@master
(22/40) Wrote golang.org/x/sys@master
(23/40) Wrote github.com/kevinburke/go-bindata@46eb4c183bfc1ebb527d9d19bcded39476302eb8
(24/40) Wrote github.com/jessevdk/go-flags@4cc2832a6e6d1d3b815e2b9d544b2a4dfb3ce8fa
(25/40) Wrote github.com/influxdata/yarpc@master
(26/40) Wrote github.com/Sirupsen/logrus@3ec0642a7fb6488f65b06f9040adc67e3990296a
(27/40) Wrote github.com/gogo/protobuf@49944b4a4b085da44c43d4b233ea40787396371f
(28/40) Wrote github.com/influxdata/yamux@master
(29/40) Wrote github.com/bouk/httprouter@ee8b3818a7f51fbc94cc709b5744b52c2c725e91
(30/40) Wrote github.com/dgrijalva/jwt-go@24c63f56522a87ec5339cc3567883f1039378fdb
(31/40) Wrote github.com/opentracing/opentracing-go@v1.0.2
(32/40) Wrote github.com/beorn7/perks@master
(33/40) Wrote github.com/dustin/go-humanize@master
(34/40) Wrote github.com/matttproud/golang_protobuf_extensions@v1.0.0
(35/40) Wrote github.com/elazarl/go-bindata-assetfs@9a6736ed45b44bf3835afeebb3034b57ed329f3e
(36/40) Wrote github.com/pkg/errors@v0.8.0
(37/40) Wrote github.com/boltdb/bolt@5cc10bbbc5c141029940133bb33c9e969512a698
(38/40) Wrote github.com/influxdata/chronograf@master
(39/40) Wrote google.golang.org/api@bc20c61134e1d25265dd60049f5735381e79b631
(40/40) Wrote github.com/influxdata/kapacitor@4f10efc41b4dcac070495cf95ba2c41cfcc2aa3a

1:15 ~/tmp/sandbox/go/src/bug/godep/vendor/github.com/influxdata/chronograf
master ms 0 %

What version of dep are you using (dep version)?

902d09c4 prune: Hide command from help output

What dep command did you run?

ensure

What did you expect to see?

Package chronograf should not installed on vendor again.

What did you see instead?

Package chronograf installed on vendor.

1:21 ~/tmp/sandbox/go/src/bug/godep/vendor/github.com/influxdata/chronograf
master ms 0 % tree -d -L 1 vendor/github.com/influxdata
vendor/github.com/influxdata
├── chronograf
├── ifql
├── influxdb
├── kapacitor
├── line-protocol
├── platform
├── tdigest
├── usage-client
├── yamux
└── yarpc

Why this matter?

chronograf build script (make) will generate some files. When running go build ./cmd/chronograf or just make will result in error, because Go lookup the chronograf in vendor directory.

Sample output of build with make on chronograf directory,

1:29 ~/tmp/sandbox/go/src/bug/godep/vendor/github.com/influxdata/chronograf
master ms 0 % make
cd ui && yarn --no-progress --no-emoji
yarn install v1.6.0
[1/4] Resolving packages...
[2/4] Fetching packages...
info fsevents@1.2.2: The platform "linux" is incompatible with this module.
info "fsevents@1.2.2" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 16.64s.
cd ui && yarn run build
yarn run v1.6.0
$ yarn run clean && webpack --config ./webpack/prod.config.js
$ rm -rf ./build/*
Starting type checking service...
Using 1 worker with 2048MB memory limit
Hash: 50ebbaa395315a63943b
Version: webpack 3.11.0
Time: 61158ms
                                 Asset       Size  Chunks                    Chunk Names
  586e2408b2143fcf605817c1401afb8c.svg      39 kB          [emitted]
  5b0351ba9a521ac09d77288b1658aa93.eot    13.5 kB          [emitted]
  7b5fb88f12bec8143f00e21bc3222124.ttf     162 kB          [emitted]
  ac3f799d5bbaf5196fab15ab8de8431c.ttf     163 kB          [emitted]
  fe13e4170719c2fc586501e777bde143.ttf     163 kB          [emitted]
  d329cc8b34667f114a95422aaad1b063.ttf     162 kB          [emitted]
  893fe14628bd7ac498d550e96367e1be.ttf     163 kB          [emitted]
  5a45b286f59824f5d3b2d761871ced29.ttf     115 kB          [emitted]
24857cccc42d68c82351c10b3c7e7bb2.woff2    6.63 kB          [emitted]
  882018a95960c21b01919a3691e894dc.ttf    13.4 kB          [emitted]
 bac7dda530ae36f002b01ac0c90da19e.woff    13.5 kB          [emitted]
  3f68500b267c20051088bcc0698af773.ttf     163 kB          [emitted]
  926b127b9cb6575cbf3b673f7ccffa31.png    24.8 kB          [emitted]
  2bb64b4255c3d298ecae22d2053b77c2.svg     275 kB          [emitted]  [big]
  756cfeadfdbf9222a81d41b8931ba2a4.svg    1.71 kB          [emitted]
  506b526ac73ff3d5192138f62753fb65.svg    3.44 kB          [emitted]
  5383d7502fba94c91b70fccf44116248.svg    1.86 kB          [emitted]
        vendor.046b803da2dab4dc2c33.js    2.27 MB       0  [emitted]  [big]  vendor
           app.eccd31db11288ddfea45.js    1.05 MB       1  [emitted]  [big]  app
      manifest.57b78255a267af8ab717.js  799 bytes       2  [emitted]         manifest
                        chronograf.css    1.37 MB       1  [emitted]  [big]  app
                           favicon.ico    5.43 kB          [emitted]
                            index.html  544 bytes          [emitted]
  [16] ./src/shared/constants/index.tsx 10.3 kB {1} [built]
  [17] ./node_modules/redux/es/index.js + 15 modules 26.8 kB {0} [built]
  [24] ./src/shared/actions/notifications.js 407 bytes {1} [built]
  [32] ./node_modules/react-router/es/index.js + 32 modules 76.3 kB {0} [built]
  [51] ./src/shared/actions/errors.js 279 bytes {1} [built]
 [126] ./src/shared/actions/app.js 1.49 kB {1} [built]
 [177] ./src/shared/actions/auth.js 7.2 kB {1} [built]
 [935] ./src/index.tsx 13 kB {1} [built]
[1767] ./src/alerts/index.ts 324 bytes {1} [built]
[1768] ./src/kapacitor/index.js 1.05 kB {1} [built]
[1870] ./src/admin/index.js 663 bytes {1} [built]
[1917] ./src/sources/index.js 561 bytes {1} [built]
[1922] ./src/ifql/index.ts 357 bytes {1} [built]
[1958] ./src/style/chronograf.scss 41 bytes {1} [built]
[1959] multi axios bignumber.js calculate-size chroma-js classnames codemirror dygraphs enzyme-adapter-react-16 eslint-plugin-babel fast.js fixed-data-table-2 he lodash moment nano-date prop-types q
uery-string react react-addons-shallow-compare react-codemirror2 react-custom-scrollbars react-dimensions react-dnd react-dnd-html5-backend react-dom react-grid-layout react-onclickoutside react-red
ux react-resize-detector react-router react-router-redux react-tooltip react-virtualized redux redux-auth-wrapper redux-thunk rome uuid 472 bytes {0} [built]
    + 2117 hidden modules
Child html-webpack-plugin for "index.html":
     1 asset
       [0] ./node_modules/html-webpack-plugin/lib/loader.js!./src/index.template.html 591 bytes {0} [built]
       [2] (webpack)/buildin/global.js 509 bytes {0} [built]
       [3] (webpack)/buildin/module.js 517 bytes {0} [built]
        + 1 hidden module
Child extract-text-webpack-plugin node_modules/extract-text-webpack-plugin/dist node_modules/css-loader/index.js!node_modules/sass-loader/lib/loader.js!node_modules/resolve-url-loader/index.js!node_
modules/sass-loader/lib/loader.js?sourceMap!src/style/chronograf.scss:
     17 assets
       [1] ./src/style/fonts/icomoon.eot 82 bytes {0} [built]
       [2] ./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js?sourceMap!./src/style/chronograf.scss 1.39 MB
 {0} [built]
       [5] ./src/style/fonts/Roboto-Thin.ttf 82 bytes {0} [built]
       [6] ./src/style/fonts/Roboto-Light.ttf 82 bytes {0} [built]
       [7] ./src/style/fonts/Roboto-Regular.ttf 82 bytes {0} [built]
       [8] ./src/style/fonts/Roboto-Medium.ttf 82 bytes {0} [built]
       [9] ./src/style/fonts/Roboto-Bold.ttf 82 bytes {0} [built]
      [10] ./src/style/fonts/Roboto-Black.ttf 82 bytes {0} [built]
      [11] ./src/style/fonts/RobotoMono-Medium.ttf 82 bytes {0} [built]
      [12] ./src/style/fonts/icomoon.woff2 84 bytes {0} [built]
      [13] ./src/style/fonts/icomoon.ttf 82 bytes {0} [built]
      [14] ./src/style/fonts/icomoon.woff 83 bytes {0} [built]
      [15] ./src/style/fonts/icomoon.svg 82 bytes {0} [built]
      [16] ./assets/images/laser-spinner.png 82 bytes {0} [built]
      [17] ./assets/images/auth-bg.svg 82 bytes {0} [built]
        + 6 hidden modules
Done in 62.80s.
go generate -x ./server
go-bindata -o swagger_gen.go -ignore go -nocompress -pkg server .
go generate -x ./canned
go-bindata -o bin_gen.go -ignore README|apps|.sh|go -pkg canned .
go generate -x ./dist
go-bindata -o dist_gen.go -ignore 'map|go' -pkg dist ../ui/build/...
go build -o chronograf -ldflags "-s -X main.version=1.5.0.1 -X main.commit=4a97c338" ./cmd/chronograf/main.go
# bug/godep/vendor/github.com/influxdata/chronograf/vendor/github.com/influxdata/chronograf/canned
vendor/github.com/influxdata/chronograf/canned/bin.go:20:11: undefined: AssetNames
vendor/github.com/influxdata/chronograf/canned/bin.go:23:18: undefined: Asset
# bug/godep/vendor/github.com/influxdata/chronograf/vendor/github.com/influxdata/chronograf/dist
vendor/github.com/influxdata/chronograf/dist/dist.go:39:13: undefined: AssetInfo
vendor/github.com/influxdata/chronograf/dist/dist.go:59:18: undefined: Asset
vendor/github.com/influxdata/chronograf/dist/dist.go:74:11: undefined: Asset
vendor/github.com/influxdata/chronograf/dist/dist.go:83:14: undefined: AssetDir
vendor/github.com/influxdata/chronograf/dist/dist.go:84:14: undefined: AssetInfo
make: *** [Makefile:25: chronograf] Error 2

If I remove the chronograf in vendor, then make will run successfully,

1:37 ~/tmp/sandbox/go/src/bug/godep/vendor/github.com/influxdata/chronograf
master ms 0 % rm -rf vendor/github.com/influxdata/chronograf

1:38 ~/tmp/sandbox/go/src/bug/godep/vendor/github.com/influxdata/chronograf
master ms 0 % make
go build -o chronograf -ldflags "-s -X main.version=1.5.0.1 -X main.commit=4a97c338" ./cmd/chronograf/main.go
go build -o chronoctl -ldflags "-s -X main.version=1.5.0.1 -X main.commit=4a97c338" ./cmd/chronoctl

1:38 ~/tmp/sandbox/go/src/bug/godep/vendor/github.com/influxdata/chronograf
master ms 0 %
sdboyer commented 6 years ago

Hi! Thanks for the detailed issue.

Unfortunately, this is all kinda in the category of unintended use, because this:

1:09 ~/tmp/sandbox/go/src/bug/godep/vendor/github.com/influxdata/chronograf
master ms 0 % dep ensure -v
Root project is "bug/godep/vendor/github.com/influxdata/chronograf"

dep is not designed to run from within vendor. That root project path that it picked is nonsensical, and it's why it's treating imports of chronograf as external - that is, included in the solving process. You just can't use dep this way.

i'm also not really clear on what the actual goal is, though it seems like your key problem is being able to build the chronograf binary located in github.com/influxdata/chronograf/cmd/chronograf. If so, what you'll want to do is add that path to the required field in Gopkg.toml, which will guarantee that all of its imports are actually satisfied. That should get rid of this:

go build -o chronograf -ldflags "-s -X main.version=1.5.0.1 -X main.commit=4a97c338" ./cmd/chronograf/main.go
# bug/godep/vendor/github.com/influxdata/chronograf/vendor/github.com/influxdata/chronograf/canned
vendor/github.com/influxdata/chronograf/canned/bin.go:20:11: undefined: AssetNames
vendor/github.com/influxdata/chronograf/canned/bin.go:23:18: undefined: Asset
# bug/godep/vendor/github.com/influxdata/chronograf/vendor/github.com/influxdata/chronograf/dist
vendor/github.com/influxdata/chronograf/dist/dist.go:39:13: undefined: AssetInfo
vendor/github.com/influxdata/chronograf/dist/dist.go:59:18: undefined: Asset
vendor/github.com/influxdata/chronograf/dist/dist.go:74:11: undefined: Asset
vendor/github.com/influxdata/chronograf/dist/dist.go:83:14: undefined: AssetDir
vendor/github.com/influxdata/chronograf/dist/dist.go:84:14: undefined: AssetInfo

You also might want to look at https://github.com/getstream/vg - it can help with some issues like this.

shuLhan commented 5 years ago

@sdboyer

Sorry for delay, and thank you for responding.

i'm also not really clear on what the actual goal is

The goal is using dep to manage tools in vendor directory.

I will close the issue since this is old enough and see another solution as you suggested. Thank you again.