Page MenuHomePhabricator

Make Maniphest project edits more transaction-oriented
ClosedPublic

Authored by epriestley on Jul 5 2014, 8:09 PM.
Tags
None
Referenced Files
F13166409: D9833.diff
Tue, May 7, 6:09 AM
F13165627: D9833.id23924.diff
Tue, May 7, 5:31 AM
F13165625: D9833.id23624.diff
Tue, May 7, 5:31 AM
F13165623: D9833.id23595.diff
Tue, May 7, 5:31 AM
Unknown Object (File)
Sun, May 5, 3:37 PM
Unknown Object (File)
Sat, May 4, 2:20 PM
Unknown Object (File)
Sat, May 4, 2:02 PM
Unknown Object (File)
Sat, May 4, 12:39 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 1534
Build 1534: [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
423–425

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).