Page MenuHomePhabricator

Make Owners behavior when multiple packages own the same path with different dominion rules more consistent

Authored by epriestley on Jun 1 2017, 9:04 PM.
Referenced Files
Unknown Object (File)
Mon, Jun 27, 7:13 AM
Unknown Object (File)
Sun, Jun 26, 5:39 PM



Fixes T12789. See that task for discussion. Currently, when multiple packages own the same path but have different dominion rules we get some weird/aribtrary/inconsistent results.

Instead, implement these rules:

  • If zero or more weak and one or more strong packages claim a path, the strong packages (exactly) all own it.
  • If one or more weak packages and zero strong packages claim a path, the weak packages all own it.

The major change here is that instead of keeping the first weak package we run into, we keep all the weak packages with the longest claim that we run into.

This needs to be implemented twice because Owners has two different near-copies of this logic, only one of which has test coverage. Some day maybe this will get fixed.

Test Plan
  • Added failing unit tests, made them pass.
  • Viewed all A/B strong/weak combinations in Diffusion, saw sensible ownership results.

Diff Detail

rP Phabricator
Lint Not Applicable
Tests Not Applicable

Event Timeline

lvital added a subscriber: lvital.
lvital added inline comments.


This revision is now accepted and ready to land.Jun 1 2017, 9:28 PM
This revision was automatically updated to reflect the committed changes.