More descriptive error message for cherry pick
<!--IssueSummary start-->
<details>
<summary>
Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards.
</summary>
- [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=431995)
</details>
<!--IssueSummary end-->
<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
We are receiving the following error message in the GitLab UI when trying to cherry a merge request (already merged) into an existing branch (without creating a merge request for the cherry-pick):
`13:Received RST_STREAM with error code 2.`
With the help of the log files for gitaly and the exception log, we were able to figure out the cause. However, users themselves have no chance to understand what's going on. The above error message is causing internal support overhead.
Here is the backtrace from expection.json
```
"exception.class": "Gitlab::Git::CommandError",
"exception.message": "13:Received RST_STREAM with error code 2.",
"exception.backtrace": [
"lib/gitlab/git/wraps_gitaly_errors.rb:24:in `rescue in wrapped_gitaly_errors'",
"lib/gitlab/git/wraps_gitaly_errors.rb:6:in `wrapped_gitaly_errors'",
"lib/gitlab/git/repository.rb:715:in `cherry_pick'",
"app/models/repository.rb:949:in `block in cherry_pick'",
"app/models/repository.rb:863:in `with_cache_hooks'",
"app/models/repository.rb:948:in `cherry_pick'",
"app/services/commits/change_service.rb:21:in `public_send'",
"app/services/commits/change_service.rb:21:in `commit_change'",
"app/services/commits/cherry_pick_service.rb:14:in `block in create_commit!'",
"lib/gitlab/git/cross_repo.rb:20:in `ensuring_ref_in_source'",
"lib/gitlab/git/cross_repo.rb:14:in `execute'",
"app/services/commits/cherry_pick_service.rb:13:in `create_commit!'",
"app/services/commits/create_service.rb:30:in `execute'",
"app/controllers/concerns/creates_commit.rb:31:in `create_commit'",
"app/controllers/projects/commit_controller.rb:145:in `cherry_pick'",
"ee/lib/gitlab/ip_address_state.rb:10:in `with'",
"ee/app/controllers/ee/application_controller.rb:45:in `set_current_ip_address'",
"app/controllers/application_controller.rb:500:in `set_current_admin'",
"lib/gitlab/session.rb:11:in `with_session'",
"app/controllers/application_controller.rb:491:in `set_session_storage'",
"lib/gitlab/i18n.rb:107:in `with_locale'",
"lib/gitlab/i18n.rb:113:in `with_user_locale'",
"app/controllers/application_controller.rb:482:in `set_locale'",
"app/controllers/application_controller.rb:475:in `set_current_context'",
"lib/gitlab/metrics/elasticsearch_rack_middleware.rb:16:in `call'",
"lib/gitlab/middleware/memory_report.rb:13:in `call'",
"lib/gitlab/middleware/speedscope.rb:13:in `call'",
"lib/gitlab/database/load_balancing/rack_middleware.rb:23:in `call'",
"lib/gitlab/middleware/rails_queue_duration.rb:33:in `call'",
"lib/gitlab/metrics/rack_middleware.rb:16:in `block in call'",
"lib/gitlab/metrics/web_transaction.rb:46:in `run'",
"lib/gitlab/metrics/rack_middleware.rb:16:in `call'",
"lib/gitlab/jira/middleware.rb:19:in `call'",
"lib/gitlab/middleware/go.rb:20:in `call'",
"lib/gitlab/etag_caching/middleware.rb:21:in `call'",
"lib/gitlab/middleware/query_analyzer.rb:11:in `block in call'",
"lib/gitlab/database/query_analyzer.rb:37:in `within'",
"lib/gitlab/middleware/query_analyzer.rb:11:in `call'",
"lib/gitlab/middleware/multipart.rb:173:in `call'",
"lib/gitlab/middleware/read_only/controller.rb:50:in `call'",
"lib/gitlab/middleware/read_only.rb:18:in `call'",
"lib/gitlab/middleware/same_site_cookies.rb:27:in `call'",
"lib/gitlab/middleware/basic_health_check.rb:25:in `call'",
"lib/gitlab/middleware/handle_malformed_strings.rb:21:in `call'",
"lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in `call'",
"lib/gitlab/middleware/request_context.rb:15:in `call'",
"lib/gitlab/middleware/webhook_recursion_detection.rb:15:in `call'",
"config/initializers/fix_local_cache_middleware.rb:11:in `call'",
"lib/gitlab/middleware/compressed_json.rb:44:in `call'",
"lib/gitlab/middleware/rack_multipart_tempfile_factory.rb:19:in `call'",
"lib/gitlab/middleware/sidekiq_web_static.rb:20:in `call'",
"lib/gitlab/metrics/requests_rack_middleware.rb:79:in `call'",
"lib/gitlab/middleware/release_env.rb:13:in `call'"
```
The relevant part in gitaly/current log:
```
"error": "cherry pick: cherry-pick: there are conflicting files",
"grpc.code": "FailedPrecondition",
"grpc.meta.auth_version": "v2",
"grpc.meta.client_name": "gitlab-web",
"grpc.meta.deadline_type": "regular",
"grpc.meta.method_type": "unary",
"grpc.method": "UserCherryPick",
"grpc.request.deadline": "2023-11-15T08:39:40.277",
"grpc.request.fullMethod": "/gitaly.OperationService/UserCherryPick",
```
We request to expose or forward the error "cherry pick: there are conflicting files" to the UI asking the user to manually cherry-pick our side gitlab, similar to your message when a rebase cannot be resolved inside gitlab.
Zendesk Ticket : https://gitlab.zendesk.com/agent/tickets/471201
<!-- Label reminders
Use the following resources to find the appropriate labels:
- Use only one tier label choosing the lowest tier this is intended for
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->
issue