Skip to main content
All CollectionsAutomationPipelinesGearset Pipeline management
Pull request showing unexpected differences
Pull request showing unexpected differences

Simplified explanation of why additional commits may appear in your pull requests.

Michael Krumwiede avatar
Written by Michael Krumwiede
Updated over a month ago

A common issue some of our customers face when using pipelines is they see unexpected differences in their pull requests. There are several reasons why these differences appear, for a detailed technical explanation of this behavior see this article.

As a best practice we recommend syncing up all environments to your default base (main/master) after a release to prevent such issues. We have introduced a feature (detailed here) that will allow you to easily sync your environment branches with your default base (main/master).

Common scenarios for this issue

Environments are out of sync with source of truth branch (main/master) due to hotfix.

When a hotfix is pushed directly to main this may cause the earlier environments to become out of sync. The recommendation is to push this hotfix back through the pipeline's environments before creating a new feature branch. Any feature branch created from main will include the hotfix changes. If these changes are not in your next environment such as Integration, they will appear in the pull request.

If you have changes A & B you would like to move through the pipeline, but hotfix C was made to main before the feature branch is created. Then this feature branch would include A, B & C. To make sure the pull request only has A & B, then the commit C will need to be back-propagated before the feature branch is created. Once the back-propagation is finished, use the Sync environment option to align the git histories of your environment branches in addition to back-propagating changes.

Changes made directly to main that were not deployed throughout the whole pipeline.

Another common reason for this to come up is if changes were committed to a branch (such as main) outside the typical pipeline release cycle, so they did not make it to all environments. Similar to the hotfix behavior, this will cause the environments to be out of sync. When out of sync, pull requests will include extra components as they existed on the feature branch (created from your source of truth) but not the environment branch.

Note: If the change is made to an environment branch (i.e. UAT this will likely appear as a merge conflict instead of extra changes). When changes are done directly to main/master it will appear as extra commits in the PR

Using the Sync Environment option in Gearset, will allow you to pull these changes from your source of truth (commonly main/master) to the environment branch. This will allow the net changes between the feature branch and environment branch to be only the changes made to this specific feature.

Got more questions? Get in touch

Hopefully this article will make it easier to know how to track down constituent parts of the profile object for your deployment. If you have any questions, let us know.

Did this answer your question?