Page MenuHomePhabricator

Make Maniphest project edits more transaction-oriented
ClosedPublic

Authored by epriestley on Jul 5 2014, 8:09 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Dec 21, 1:33 AM
Unknown Object (File)
Fri, Dec 20, 9:40 PM
Unknown Object (File)
Thu, Dec 12, 11:55 AM
Unknown Object (File)
Fri, Dec 6, 2:40 PM
Unknown Object (File)
Wed, Dec 4, 6:02 PM
Unknown Object (File)
Tue, Dec 3, 12:23 PM
Unknown Object (File)
Tue, Dec 3, 12:22 PM
Unknown Object (File)
Tue, Dec 3, 12:22 PM
Subscribers

Details

Summary

Ref T5245. Currently, task/project links rely on side effects in save(). Make them more transaction-oriented, with the goal of moving fully to edges a few diffs down the line.

Test Plan
  • Added and removed projects using "Edit Task", "Associate Projects" comment action, and Herald.
  • Verified database ended up in the expected state.

Diff Detail

Repository
rP Phabricator
Branch
projedge1
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 1556
Build 1556: [Placeholder Plan] Wait for 30 Seconds

Event Timeline

epriestley retitled this revision from to Make Maniphest project edits more transaction-oriented.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added reviewers: joshuaspence, chad, btrahan.
joshuaspence edited edge metadata.

I'm not very familiar with this code, but from what I can tell this diff is definitely an improvement.

This revision is now accepted and ready to land.Jul 5 2014, 10:25 PM

(This sequence of diffs ended up going deep into the dark corners of the edge stuff, so feel free to bail out if things get too murky -- none of this is urgent, and we can wait for @btrahan to get back from paternity leave.)

Yeah I noticed. The edge stuff isnt so bad and I think I have a reasonable understanding. I'm not confident with the old code (pre-edges) I'll take a closer look tomorrow.

At the same time, based on the calendar it appears that @btrahan is due back shortly... so if you don't trust my reviewing capabilities (no offence taken), feel free to wait a little longer. I'm taking a look through the diffs now.

This may be addressed in another diff, but is the intention to eventually remove/deprecate the ManiphestTaskProject class? It seems that this class does what will be done with edges.

Just looking over this again as a sanity check... still looks good to me. One minor inline.

src/applications/maniphest/editor/ManiphestTransactionEditor.php
419–421

It might be cleaner to just move this into the above if statement now.

Yeah, the class is removed in D9852 and there will be a diff at the end of this to drop the table.

epriestley edited edge metadata.
  • Clean up the $save_again logic.

Just curious, is this stuff going to land anytime soon?

epriestley updated this revision to Diff 23924.

Closed by commit rP7deec8208ff9 (authored by @epriestley).