Reject Git revisions in uv upgrade (#19742)
## Summary
`uv upgrade` cannot meaningfully upgrade a Git dependency that specifies
`rev`: the revision may name a commit, branch, or tag, but there is no
registry version constraint for the command to relax. Previously, these
dependencies fell through to the generic non-registry-source error,
which obscured that commit-to-commit upgrades are unsupported.
This follow-up to #19678 detects applicable Git sources with `rev`
before the generic source check and reports a dedicated error. It also
extracts the shared source-applicability check into a helper and adds an
integration snapshot covering the new diagnostic.