[DRAFT] Address UX issues on Compare revisions feature
# Problem
Context https://gitlab.com/gitlab-org/gitlab/-/merge_requests/183565#note_2398932508
In the current Compare revisions feature, [users can](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/179713#note_2328225125) compare:
* [branch to a branch](https://gitlab.com/alyssatrinh/gitlab-test-project-security-policy-project/-/compare/develop...main?from_project_id=62595811)
* [tag to a branch](https://gitlab.com/alyssatrinh/gitlab-test-project-security-policy-project/-/compare/protected...main?from_project_id=62595811)
* [commit to a branch](https://gitlab.com/alyssatrinh/gitlab-test-project-security-policy-project/-/compare/0f1e35c8f0c51cc5957fa72dc73e197a8cd6b15d...main?from_project_id=62595811)
* [commit to a commit](https://gitlab.com/alyssatrinh/gitlab-test-project-security-policy-project/-/compare/0f1e35c8f0c51cc5957fa72dc73e197a8cd6b15d...f4f584095c0d1076dc11d5a3ec1e25f94ed1296a?from_project_id=62595811)
However, these limitations are not surfaced to users well in the UI. Core issues in the UI:
* No visual indication users can search via commit
* The dropdown placeholder text is `Select branch/tag` with no mention of commits
* When users do search by commit, then expand the dropdown, the currently selected commit doesn't even show up in the list
* No visual indication of comparison restrictions
* Users can currently compare a [branch to a branch](https://gitlab.com/alyssatrinh/gitlab-test-project-security-policy-project/-/compare/develop...main?from_project_id=62595811), or a [tag to a branch](https://gitlab.com/alyssatrinh/gitlab-test-project-security-policy-project/-/compare/protected...main?from_project_id=62595811), or a [commit to a branch](https://gitlab.com/alyssatrinh/gitlab-test-project-security-policy-project/-/compare/0f1e35c8f0c51cc5957fa72dc73e197a8cd6b15d...main?from_project_id=62595811), [commit to a commit](https://gitlab.com/alyssatrinh/gitlab-test-project-security-policy-project/-/compare/0f1e35c8f0c51cc5957fa72dc73e197a8cd6b15d...f4f584095c0d1076dc11d5a3ec1e25f94ed1296a?from_project_id=62595811). There's literally no way for users to know this. I had to dig through logs of comments just to find an [old comment](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/179713#note_2328225125) to understand the feature limitations.
* Documentation is poor
* The [Learn more about comparing revisions](https://docs.gitlab.com/ee/user/project/repository/branches/#compare-branches) link on the `Compare revisions` page actually points to the documentation for [Compare branches](https://docs.gitlab.com/user/project/repository/branches/#compare-branches), which can be misleading / not holistic.
* Documentation of the feature will be addressed in https://gitlab.com/gitlab-org/gitlab/-/issues/525191.
* Users may want to compare tag to a tag
* https://gitlab.com/gitlab-org/gitlab/-/issues/384887
{width="810" height="444"}
* Expose UI element to allow users to download a patch https://gitlab.com/gitlab-org/gitlab/-/issues/525192#note_2553248979
* Consider if we should allow users to add a comment on a Compare line. https://gitlab.com/gitlab-org/gitlab/-/issues/15546, related https://gitlab.com/gitlab-org/gitlab/-/issues/404540#additional-design-details-needed
# Proposal
#### _TBD @alyssatrinh_
issue