Page MenuHomePhabricator

Make Maniphest project edits more transaction-oriented
ClosedPublic

Authored by epriestley on Jul 5 2014, 8:09 PM.
Tags
None
Referenced Files
F15473862: D9833.id.diff
Sun, Apr 6, 2:25 AM
F15462146: D9833.id.diff
Tue, Apr 1, 12:52 PM
F15462145: D9833.diff
Tue, Apr 1, 12:51 PM
F15439424: D9833.id23595.diff
Wed, Mar 26, 7:27 AM
F15432217: D9833.id23924.diff
Mon, Mar 24, 4:50 PM
F15430750: D9833.id.diff
Mon, Mar 24, 8:45 AM
F15424914: D9833.id23624.diff
Sun, Mar 23, 1:06 AM
F15422738: D9833.id23595.diff
Sat, Mar 22, 10:26 AM
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).