Right now if your dependencies can't be satisfied, SwiftPM just gives you an "error: unsatisfiable". That message is way too terse and should at least clearly explain that dependency requirements can't be resolved. But beyond that, it should tell you which dependency can't be satisfied, and what the conflicting requirements are, and where they come from.
Steps to reproduce:
1) Clone vapor firstname.lastname@example.org:vapor/vapor.git
2) Check out tag 2.0.0-alpha.7
3) Run `swift build`
4) Check out tag 1.5.9
5) Run `swift build`
Result: SwiftPM emits "error: unsatisfiable". This is because of the pinfile, which we should explain in SR-4236 Unsatisfiable dependencies error should mention pinning. But beyond that, this should say which dependencies are unsatisfiable.