Closed
Description
@konstin brought this up as both a potential performance optimization and a more solid guarantee that resolutions between forks settle on consistent versions.
At present, the forks in the universal resolver are completely independent. When a fork happens, one of them is run to completion and then the other is solved only after the first is finished. When all forks have finished, the resolutions output from each are merged into one.
But we could make it so that once a fork finishes, its resolution is used as an input to all forks it created. This should help with ensuring we pick the same version of packages across forks whenever possible.
I don't have a good sense of how common an issue this is in practice. I also don't have a test case yet.