This is a problem. I have become very productive using git submodules to refer to specific commits in other repositories. I'm not keen to require maintaining our own forks to fix the problem.
Questions:
OK! That's an extreme example, but generally the message isn't very helpful (I can't tell *why* that is a rule, nor can I trivially find references to it). Could the message be improved and/or some prominent documentation live somewhere?
(In case you're wondering, there are 7 hits for that on Google, none of which are helpful, and relaxing/mixing up the search doesn't help either).
2) How can I build vendor-collision?
I assume I am forced at the moment go re-rewrite the imports to remove
vendor.org/p's rewriting? Or persuade
vendor.org/p to avoid rewriting (which then makes it difficult to build on <go1.5). Is there an alternative I haven't considered?
3) Is this something that can be improved in the go build logic?
I don't know, because I can't easily find the rationale for the error message.
# Go get as a separate problem
As a curiosity, if you `go get -v` the package, it tries to fetch
vendor.org/p from the internet. Why does it do that, given that it is available in the ./vendor directory? Is this expected?