Page MenuHomePhabricator

Implement subproject/milestone conflict resolution rules

Authored by epriestley on Feb 2 2016, 9:07 PM.
Referenced Files
Unknown Object (File)
Sun, Oct 2, 11:41 PM
Unknown Object (File)
Sun, Oct 2, 11:24 PM
Unknown Object (File)
Mon, Sep 26, 12:35 PM
Unknown Object (File)
Fri, Sep 16, 9:12 PM
Unknown Object (File)
Wed, Sep 14, 6:36 AM
Unknown Object (File)
Wed, Sep 14, 12:24 AM
Unknown Object (File)
Aug 30 2022, 5:34 PM
Unknown Object (File)
Aug 28 2022, 6:30 AM



Ref T10010. When you try to add "Sprint 35" to a task, remove "Sprint 34", etc. Briefly:

  • A task can't be in Sprint 3 and Sprint 4.
  • A task can't be in "A" and "A > B" (but "A > B" and "A > C" are fine).
  • When a user makes an edit which would violate one of these rules, preserve the last tag in each group of conflicts.
Test Plan
  • Added fairly comprehensive tests.
  • Added a bunch of different tags to things, saw them properly exclude conflicting tags.

Diff Detail

rP Phabricator
Lint Not Applicable
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Implement subproject/milestone conflict resolution rules.
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.Feb 2 2016, 9:10 PM

One possible weird consequence of these rules is that these tags are OK:

  • (StoneworkIteration IV) + (StoneworkMasonry)

I think that's fine for now. If it ultimately turns out to be confusing, we could make adding StoneworkMasonry remove StoneworkMilestone X.

This revision was automatically updated to reflect the committed changes.