In dotnet/dotnet#7141, we weren't using the correct direction algorithm because we re not detecting that the last backflow was coming from a different branch than the one we were forward flowing to.
This detection happens in
|
if (!headBranchExisted && !await vmr.IsAncestorCommit(lastBackflow.VmrSha, currentVmrSha)) |
but it failed because in a local flow, the head branch always exists.
I can't remember why we added it at the time of writing this, but I know there was a bug where an existing FF PR couldn't get an opposite direction flow if the PR already existed.
Apparently that caused this bug now
In dotnet/dotnet#7141, we weren't using the correct direction algorithm because we re not detecting that the last backflow was coming from a different branch than the one we were forward flowing to.
This detection happens in
arcade-services/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrCodeflower.cs
Line 450 in db1476c
I can't remember why we added it at the time of writing this, but I know there was a bug where an existing FF PR couldn't get an opposite direction flow if the PR already existed.
Apparently that caused this bug now