When a pull request is created or updated, Bitbucket Server automatically merges the relevant branches and uses the resulting merge to display the pull request's diff. Performing the merge allows the system to visualize conflicts between the two branches in the diff.
However, for various reasons, creating that merge can fail. For example:
- Submodules can cause merge conflicts (see
- Extremely large merges can timeout
- Unexpected Git output can result in incorrect handling
Regardless of the root cause, when the merge can't be created it can be difficult to determine why and try to address it. More importantly, though, it makes pull requests difficult to use and rely on in affected repositories.