In my project, we have the following branches:
All feature branches will be cloned from Prod(Master), then developer will develop in feature branch. they will make one tag on the feature branch, then submit one Pull Request for feature -> SIT branch, SIT->UAT also.
After UAT Test passed, they will submit one Pull Request to merge corresponding feature branch into PreProd. Then PreProd -> Prod also.
If UAT Test failed, the feature label will be return to develop for re-development & re-tag & re-deploy.
But now we encounter one Diff issue between UAT and PreProd.
For example:
Feature01(25b52671cb9) -> SIT(c3d808c8484) -> UAT(cf597fe387d) via PR Merge, It means Feature a is ready for preprod
After Feature a merged into UAT, do the same thing for feature B
Feature02(12b5b43c589) -> SIT(792a606b011) -> UAT(0c80a087189) via PR Merge, It means Feature b is ready for preprod
At this moment, Diff between SIT & UAT is no changes, SIT and UAT both contains feature01 & feature02, all Diff are expected. Then
Feature01(25b52671cb9) -> PreProd(81322137957) via PR Merge
Now the Diff also is expected, due to feature01 just has been merge into PreProd, so it will only show feature02 diff. but after
Feature02(12b5b43c589) -> PreProd(64cb55b32f9) via PR Merge
Now the result is not expected, Diff shows the code change of Feature01.
Due to Feature01 & 02 have both merged into PreProd, UAT contains Feature01 & 02, so the expectation is Diff shows no changes between UAT & PreProd.
But the final Diff screen share like the following:
BitBucket version: 8.01
Could you help to clarify why? and how to get our expectation?
Thanks.