Microsoft maintains a fork of crypto/tls that supports TLS renegotiation for Azure (background:
https://github.com/Azure/azure-sdk-for-go/issues/90). For this to work, they also needed to fork net/http to import their forked crypto/tls. I noticed today that, in go 1.5, vendored imports are resolved before standard library imports, so if you had "vendor/crypto/tls", anything that referred to "crypto/tls" would point to your vendored code. This could be a much easier way of maintaining a fork like this. However, I couldn't find where the import resolution order was documented, so I'm not sure if this is behavior that I can depend on if I needed to do something similar.
Anyone know?