Page MenuHomePhabricator

Implement child/descendant query rules in Projects
ClosedPublic

Authored by epriestley on Dec 23 2015, 3:57 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Dec 15, 7:31 AM
Unknown Object (File)
Wed, Dec 11, 12:03 AM
Unknown Object (File)
Tue, Dec 10, 12:11 AM
Unknown Object (File)
Sat, Dec 7, 4:30 PM
Unknown Object (File)
Sun, Dec 1, 7:26 PM
Unknown Object (File)
Sat, Nov 23, 12:58 AM
Unknown Object (File)
Oct 31 2024, 11:34 AM
Unknown Object (File)
Oct 27 2024, 2:24 AM
Subscribers
None

Details

Summary

Ref T10010. This adds infrastructure for querying projects by type, depth, parent and ancestor.

I needed to revise the "extended policy check" cycle detection rules. When, e.g., querying a grandchild, they incorrectly detected a cycle because both the child and grandchild needed to check the policy of the grandparent.

Instead, simplify it to just do a basic runaway calldepth check. There are many other safety mechanisms to make it so this can't ever occur.

(Cycle detection does have existing test coverage, and those tests still pass, it just takes a little longer to detect the cycle internally.)

There is still no way to create subprojects in the UI.

Test Plan

Added and executed unit tests.

Diff Detail

Repository
rP Phabricator
Branch
proj3
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 9748
Build 11706: Run Core Tests
Build 11705: arc lint + arc unit

Event Timeline

epriestley retitled this revision from to Implement child/descendant query rules in Projects.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Dec 23 2015, 4:47 PM
This revision was automatically updated to reflect the committed changes.