HomePhabricator

Add "Dominion" rules for Owners Packages

Description

Add "Dominion" rules for Owners Packages

Summary:
Ref T10939. This supports two settings for packages (although they can't be configured yet):

  • Strong Dominion: If the package owns a/, it always owns every subpath, even if another package also owns the subpath. For example, if I own src/differential/, I always own it even if someone else claims src/differential/js/ as part of the "Javascript" package. This is the current behavior, and the default.
  • Weak Dominion: If the package owns a/, but another package owns a/b/, the package gives up control of those paths and no longer owns paths in a/b/. This is a new behavior which can make defining some types of packages easier.

In the next change, I'll allow users to switch these modes and document what they mean.

Test Plan:

  • Ran existing unit tests.
  • Added new unit tests.

Reviewers: chad

Reviewed By: chad

Subscribers: joel

Maniphest Tasks: T10939

Differential Revision: https://secure.phabricator.com/D15935

Details

Provenance
epriestleyAuthored on May 17 2016, 1:57 AM
epriestleyPushed on May 17 2016, 5:57 PM
Reviewer
chad
Differential Revision
D15935: Add "Dominion" rules for Owners Packages
Parents
rP29a060d7f13f: Allow blocking reviewers to be added via the CLI
Branches
Unknown
Tags
Unknown
Tasks
T10939: Support for OWNERS files
Build Status
Buildable 12245
Build 15470: Run Core Tests