Since the moment of introduction of Patch interface, release controller
and strategy executor in particular started using Patch.Alters()
method in order to distinguish altering patches from no-op. It turned
out there was an inconsistency between the recepient and the validation objects.
In essense, we were checking if a patch alters a predecessor release object
whereas on a positive check it was sent to alter the successor release. This
patch ensures all patches are validated against the same generation of releases.
Since the moment of introduction of Patch interface, release controller and strategy executor in particular started using
Patch.Alters()
method in order to distinguish altering patches from no-op. It turned out there was an inconsistency between the recepient and the validation objects. In essense, we were checking if a patch alters a predecessor release object whereas on a positive check it was sent to alter the successor release. This patch ensures all patches are validated against the same generation of releases.Signed-off-by: Oleg Sidorov oleg.sidorov@booking.com