Page MenuHomePhabricator

Implement subproject/milestone conflict resolution rules
ClosedPublic

Authored by epriestley on Feb 2 2016, 9:07 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Nov 29, 8:00 PM
Unknown Object (File)
Tue, Nov 29, 8:00 PM
Unknown Object (File)
Tue, Nov 29, 8:00 PM
Unknown Object (File)
Wed, Nov 16, 3:50 PM
Unknown Object (File)
Wed, Nov 16, 6:49 AM
Unknown Object (File)
Thu, Nov 10, 12:19 PM
Unknown Object (File)
Thu, Nov 10, 6:01 AM
Unknown Object (File)
Thu, Nov 10, 4:38 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
Branch
col1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 10460
Build 12788: Run Core Tests
Build 12787: arc lint + arc unit

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.