[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 ![compare.png](/uploads/10b8bbf7fb516c1518b5d22b3a594f9c/compare.png){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