Currently, Owners allows multiple packages to own the same file. It does this in two ways:
- Parent/Child: Package A owns /x/ and Package B owns /x/y.c.
- Siblings: Package C owns /x/y.c explicitly, and Package D also owns /x/y.c explicitly.
Since Owners doesn't have much explicit behavior, these behaviors are sort of implicit. Some reasonable questions about these behaviors:
- Does "Package A" still own /x/y.c? That is, does "Package B" having a more specific claim on it invalidate the claim that "Package A" makes?
- Should Package C and Package D be allowed to explicitly own the same file?
The current answers are a little murky. In particular:
- The database and UI allow C and D to be created and to exist.
- The Diffusion browse UI currently shows all owning packages, ordered from most-specific to least-specific. In this UI, both "A" and "B" own the file, but "B" has a slightly stronger claim. Likewise, both "C" and "D" own the file, although one of them arbitrarily gets listed first in the UI.
- The Diffusion and Differential table of contents UIs currently show only the most specific owning package.
- The Herald and Audit rules allow all of A, B, C, and D to exist and have claims on files.