Page MenuHomePhabricator

Implement subproject/milestone conflict resolution rules
ClosedPublic

Authored by epriestley on Feb 2 2016, 9:07 PM.
Tags
None
Referenced Files
F19813551: D15167.id36618.diff
Wed, Mar 4, 9:43 AM
F19797393: D15167.diff
Fri, Feb 27, 7:13 PM
F19707279: D15167.diff
Wed, Feb 11, 11:07 AM
F19550394: D15167.id36619.diff
Jan 27 2026, 9:37 PM
F19541591: D15167.id.diff
Jan 22 2026, 5:21 AM
F19468798: D15167.id36619.diff
Jan 4 2026, 10:23 AM
F19443771: D15167.id36618.diff
Dec 29 2025, 5:39 AM
F19293290: D15167.id.diff
Dec 23 2025, 10:19 AM
Subscribers
None

Details

Summary

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

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
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.