Homec4science

Modernize task/revision edges and write inverse transactions

Authored by epriestley <git@epriestley.com> on Jul 18 2014, 00:41.

Description

Modernize task/revision edges and write inverse transactions

Summary:
Ref T5245. See some discussion in D9838.

When we attach object A to object B, we'd like to write transactions on both sides but only write the actual edges once.

To do this, allow edge types to shouldWriteInverseTransactions(). When an edge type opts into this, have editors apply the inverse transactions before writing the edge. These inverse transactions don't actually apply effects, they just show up in the transaction log.

Test Plan: Attached and detached revisions from tasks, saw transactions appear on both sides of the operation.

Reviewers: chad, btrahan, joshuaspence

Reviewed By: btrahan, joshuaspence

Subscribers: epriestley

Maniphest Tasks: T5245

Differential Revision: https://secure.phabricator.com/D9839

Details

Committed
epriestley <git@epriestley.com>Jul 18 2014, 00:41
Pushed
aubortJan 31 2017, 17:16
Parents
rPHace1feb70220: Implement PhabricatorApplicationTransactionInterface on ManiphestTask
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPH533e799c5f7e: Modernize task/revision edges and write inverse transactions (authored by epriestley <git@epriestley.com>).Jul 18 2014, 00:41