Page MenuHomePhabricator

D10877.id26123.diff
No OneTemporary

D10877.id26123.diff

diff --git a/resources/sql/autopatches/20141119.commitpedge.sql b/resources/sql/autopatches/20141119.commitpedge.sql
new file mode 100644
--- /dev/null
+++ b/resources/sql/autopatches/20141119.commitpedge.sql
@@ -0,0 +1,11 @@
+INSERT IGNORE INTO {$NAMESPACE}_repository.edge
+ (src, type, dst, dateCreated, seq)
+ SELECT src, 41, dst, dateCreated, seq
+ FROM {$NAMESPACE}_repository.edge
+ WHERE type = 15;
+
+INSERT IGNORE INTO {$NAMESPACE}_project.edge
+ (src, type, dst, dateCreated, seq)
+ SELECT src, 42, dst, dateCreated, seq
+ FROM {$NAMESPACE}_project.edge
+ WHERE type = 16;
diff --git a/src/applications/diffusion/controller/DiffusionCommitController.php b/src/applications/diffusion/controller/DiffusionCommitController.php
--- a/src/applications/diffusion/controller/DiffusionCommitController.php
+++ b/src/applications/diffusion/controller/DiffusionCommitController.php
@@ -420,7 +420,6 @@
->withSourcePHIDs(array($commit_phid))
->withEdgeTypes(array(
DiffusionCommitHasTaskEdgeType::EDGECONST,
- PhabricatorEdgeConfig::TYPE_COMMIT_HAS_PROJECT,
PhabricatorEdgeConfig::TYPE_COMMIT_HAS_DREV,
));
@@ -428,8 +427,6 @@
$task_phids = array_keys(
$edges[$commit_phid][DiffusionCommitHasTaskEdgeType::EDGECONST]);
- $proj_phids = array_keys(
- $edges[$commit_phid][PhabricatorEdgeConfig::TYPE_COMMIT_HAS_PROJECT]);
$revision_phid = key(
$edges[$commit_phid][PhabricatorEdgeConfig::TYPE_COMMIT_HAS_DREV]);
@@ -629,15 +626,6 @@
$props['Tasks'] = $task_list;
}
- if ($proj_phids) {
- $proj_list = array();
- foreach ($proj_phids as $phid) {
- $proj_list[] = $handles[$phid]->renderLink();
- }
- $proj_list = phutil_implode_html(phutil_tag('br'), $proj_list);
- $props['Projects'] = $proj_list;
- }
-
return $props;
}
diff --git a/src/applications/diffusion/controller/DiffusionCommitEditController.php b/src/applications/diffusion/controller/DiffusionCommitEditController.php
--- a/src/applications/diffusion/controller/DiffusionCommitEditController.php
+++ b/src/applications/diffusion/controller/DiffusionCommitEditController.php
@@ -22,7 +22,7 @@
}
$commit_phid = $commit->getPHID();
- $edge_type = PhabricatorEdgeConfig::TYPE_COMMIT_HAS_PROJECT;
+ $edge_type = PhabricatorProjectObjectHasProjectEdgeType::EDGECONST;
$current_proj_phids = PhabricatorEdgeQuery::loadDestinationPHIDs(
$commit_phid,
$edge_type);
@@ -30,23 +30,17 @@
$proj_t_values = $handles;
if ($request->isFormPost()) {
+ $xactions = array();
$proj_phids = $request->getArr('projects');
- $new_proj_phids = array_values($proj_phids);
- $rem_proj_phids = array_diff($current_proj_phids,
- $new_proj_phids);
-
- $editor = id(new PhabricatorEdgeEditor());
- foreach ($rem_proj_phids as $phid) {
- $editor->removeEdge($commit_phid, $edge_type, $phid);
- }
- foreach ($new_proj_phids as $phid) {
- $editor->addEdge($commit_phid, $edge_type, $phid);
- }
- $editor->save();
-
- id(new PhabricatorSearchIndexer())
- ->queueDocumentForIndexing($commit->getPHID());
-
+ $xactions[] = id(new PhabricatorAuditTransaction())
+ ->setTransactionType(PhabricatorTransactions::TYPE_EDGE)
+ ->setMetadataValue('edge:type', $edge_type)
+ ->setNewValue(array('=' => array_fuse($proj_phids)));
+ $editor = id(new PhabricatorAuditEditor())
+ ->setActor($user)
+ ->setContinueOnNoEffect(true)
+ ->setContentSourceFromRequest($request);
+ $xactions = $editor->applyTransactions($commit, $xactions);
return id(new AphrontRedirectResponse())
->setURI('/r'.$callsign.$commit->getCommitIdentifier());
}
diff --git a/src/applications/repository/storage/PhabricatorRepositoryCommit.php b/src/applications/repository/storage/PhabricatorRepositoryCommit.php
--- a/src/applications/repository/storage/PhabricatorRepositoryCommit.php
+++ b/src/applications/repository/storage/PhabricatorRepositoryCommit.php
@@ -5,6 +5,7 @@
implements
PhabricatorPolicyInterface,
PhabricatorFlaggableInterface,
+ PhabricatorProjectInterface,
PhabricatorTokenReceiverInterface,
PhabricatorSubscribableInterface,
PhabricatorMentionableInterface,

File Metadata

Mime Type
text/plain
Expires
Sat, Mar 29, 2:23 PM (1 w, 3 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7492928
Default Alt Text
D10877.id26123.diff (4 KB)

Event Timeline