Skip to main content
All CollectionsTroubleshootingCI Jobs and org monitoring
Issue with using AzureDevOps extension to resolve conflicts
Issue with using AzureDevOps extension to resolve conflicts

Merging conflicts through the ADO web extension can go undetected by Gearset

Thomas Giffin avatar
Written by Thomas Giffin
Updated over a year ago

Gearset's validation only CI jobs have the function that when a pull request is created on the branch getting merged into source branch of the validation only CI job, we detect if there's a merge conflict between the incoming branch and the source branch.

If the job runs and the result of the job is Error, the tooltip will often give an indicator of what is causing the error and in some cases the cause will be This branch has conflicts that must be resolved before the pull request can be validated:

You can also see that this is being detected inside my ADO.

I have this merge conflict in ADO, but I can't resolve this with the ADO UI. I'll have to use an IDE like Visual Studio Code or you can install a web extension for ADO that includes a way to resolve these conflict in-browser.


The issue with the ADO web browser extension

We're finding that if you're using the ADO web extension to resolve these conflicts in the browser, Gearset isn't detecting these resolutions and when you try to re-run the validation only CI job, it keeps returning the error This branch has conflicts that must be resolved before the pull request can be validated.

This happens because when the ADO web extension is used, it resolves merge conflicts in a non-orthodox way. It shows the merge conflict resolution as a comment on the PR, rather than creating the resolution commit to the feature branch directly.

This means that the webhooks we create aren't triggered because we don't detect a new commit to the branch which is why we don't detect this merge conflict resolution.

How to work around this

At the moment, the workaround for this is to resolve the merge conflict in another way which creates a new commit with the merge conflict resolution, such as Visual Studio Code or the Command Line.

Did this answer your question?