When creating a new pull request there are some checks in the application to minimise the possibility of creating a duplicate of an existing Open pull request.
However, under certain circumstances (for example as mentioned in
BSERV-11527) it is still possible to end up with more than one duplicate Open pull request (ie from the same repository and branch, to the same repository and branch).
In such a scenario if a user tries to merge one of the pull requests, the application will in fact:
- merge them all (with the one where "Merge" was clicked showing the commit and the other(s) showing "remotely merged") - assuming they're not using a squash or rebase strategy
- (if they are using a squash or rebase strategy) the resulting behavior could be potentially more undesirable
The suggestion here is to implement a new Merge Check, which would block a pull request from being merged if it has duplicate open pull requests. This would:
- draw the user's attention to the duplicate pull requests (as they might not already be aware of them)
- give the user the opportunity to deal with the duplicates (decline/delete the ones which are duplicates, and then merge the one which is intended)