Page MenuHomePhabricator

Implement subproject/milestone conflict resolution rules

Authored by epriestley on Feb 2 2016, 9:07 PM.
Referenced Files
Unknown Object (File)
Sat, Feb 4, 3:52 AM
Unknown Object (File)
Sun, Jan 29, 2:41 AM
Unknown Object (File)
Sat, Jan 28, 3:03 AM
Unknown Object (File)
Jan 5 2023, 11:39 AM
Unknown Object (File)
Dec 21 2022, 10:59 AM
Unknown Object (File)
Dec 14 2022, 7:12 AM
Unknown Object (File)
Dec 6 2022, 6:16 PM
Unknown Object (File)
Nov 29 2022, 8:00 PM



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.