mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-30 17:30:59 +01:00
Remove ReleephRequestEvent
Summary: Ref T3663. This is obsolete code which is used only in this migration, which Facebook has already performed and which isn't relevant for any other installs. Test Plan: `grep` Reviewers: btrahan Reviewed By: btrahan CC: aran Maniphest Tasks: T3663 Differential Revision: https://secure.phabricator.com/D6777
This commit is contained in:
parent
43b35a02ce
commit
973bb0c76e
4 changed files with 5 additions and 232 deletions
|
@ -1,131 +1,8 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
echo "Migrating Releeph requests events to transactions...\n";
|
// Previously, this migrated ReleephRequestEvents into ApplicationTransactions.
|
||||||
|
// Only Facebook ever generated meaningful ReleephRequestEvent data, and has
|
||||||
|
// already migrated, so this was cleaned up when ReleephRequestEvent was
|
||||||
|
// removed.
|
||||||
|
|
||||||
$table = new ReleephRequest();
|
echo "(This migration is obsolete.)\n";
|
||||||
$table->openTransaction();
|
|
||||||
$table->beginReadLocking();
|
|
||||||
|
|
||||||
foreach (new LiskMigrationIterator($table) as $rq) {
|
|
||||||
printf("RQ%d:", $rq->getID());
|
|
||||||
|
|
||||||
$intents_cursor = array();
|
|
||||||
$last_pick_status = null;
|
|
||||||
$last_commit_id = null;
|
|
||||||
|
|
||||||
foreach ($rq->loadEvents() as $event) {
|
|
||||||
$author = $event->getActorPHID();
|
|
||||||
$details = $event->getDetails();
|
|
||||||
|
|
||||||
$content_source = PhabricatorContentSource::newForSource(
|
|
||||||
PhabricatorContentSource::SOURCE_UNKNOWN,
|
|
||||||
array('ReleephRequestEventID' => $event->getID()));
|
|
||||||
|
|
||||||
$xaction = id(new ReleephRequestTransaction())
|
|
||||||
->setObjectPHID($rq->getPHID())
|
|
||||||
->setAuthorPHID($author)
|
|
||||||
->setContentSource($content_source)
|
|
||||||
->setDateCreated($event->getDateCreated())
|
|
||||||
->setDateModified($event->getDateModified())
|
|
||||||
->setViewPolicy(PhabricatorPolicies::POLICY_PUBLIC)
|
|
||||||
->setEditPolicy($author);
|
|
||||||
|
|
||||||
printf(" %s(#%d)", $event->getType(), $event->getID());
|
|
||||||
|
|
||||||
switch ($event->getType()) {
|
|
||||||
case ReleephRequestEvent::TYPE_COMMENT:
|
|
||||||
$xaction
|
|
||||||
->setTransactionType(PhabricatorTransactions::TYPE_COMMENT)
|
|
||||||
->save(); // to generate a PHID
|
|
||||||
$comment = id(new ReleephRequestTransactionComment())
|
|
||||||
->setAuthorPHID($author)
|
|
||||||
->setTransactionPHID($xaction->getPHID())
|
|
||||||
->setViewPolicy(PhabricatorPolicies::POLICY_PUBLIC)
|
|
||||||
->setEditPolicy($author)
|
|
||||||
->setCommentVersion(1)
|
|
||||||
->setContent($event->getComment())
|
|
||||||
->setContentSource($content_source)
|
|
||||||
->save();
|
|
||||||
$xaction
|
|
||||||
->setCommentPHID($comment->getPHID())
|
|
||||||
->setCommentVersion(1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ReleephRequestEvent::TYPE_STATUS:
|
|
||||||
// Ignore STATUS events; these are legacy events that we no longer
|
|
||||||
// support anyway!
|
|
||||||
continue 2;
|
|
||||||
|
|
||||||
case ReleephRequestEvent::TYPE_USER_INTENT:
|
|
||||||
$old_intent = idx($intents_cursor, $author);
|
|
||||||
$new_intent = $event->getDetail('newIntent');
|
|
||||||
$xaction
|
|
||||||
->setTransactionType(ReleephRequestTransaction::TYPE_USER_INTENT)
|
|
||||||
->setMetadataValue('isAuthoritative', $event->getDetail('wasPusher'))
|
|
||||||
->setOldValue($old_intent)
|
|
||||||
->setNewValue($new_intent);
|
|
||||||
$intents_cursor[$author] = $new_intent;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ReleephRequestEvent::TYPE_PICK_STATUS:
|
|
||||||
$new_pick_status = $event->getDetail('newPickStatus');
|
|
||||||
$xaction
|
|
||||||
->setTransactionType(ReleephRequestTransaction::TYPE_PICK_STATUS)
|
|
||||||
->setOldValue($last_pick_status)
|
|
||||||
->setNewValue($new_pick_status);
|
|
||||||
$last_pick_status = $new_pick_status;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ReleephRequestEvent::TYPE_COMMIT:
|
|
||||||
$new_commit_id = $event->getDetail('newCommitIdentifier');
|
|
||||||
$xaction
|
|
||||||
->setTransactionType(ReleephRequestTransaction::TYPE_COMMIT)
|
|
||||||
->setMetadataValue('action', $event->getDetail('action'))
|
|
||||||
->setOldValue($last_commit_id)
|
|
||||||
->setNewValue($new_commit_id);
|
|
||||||
$last_commit_id = $new_commit_id;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ReleephRequestEvent::TYPE_DISCOVERY:
|
|
||||||
$xaction
|
|
||||||
->setTransactionType(ReleephRequestTransaction::TYPE_DISCOVERY)
|
|
||||||
->setNewValue($event->getDetail('newCommitPHID'));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ReleephRequestEvent::TYPE_CREATE:
|
|
||||||
$xaction
|
|
||||||
->setTransactionType(ReleephRequestTransaction::TYPE_REQUEST)
|
|
||||||
->setOldValue(null)
|
|
||||||
->setNewValue($rq->getRequestCommitPHID());
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ReleephRequestEvent::TYPE_MANUAL_ACTION:
|
|
||||||
$xaction
|
|
||||||
->setTransactionType(
|
|
||||||
ReleephRequestTransaction::TYPE_MANUAL_IN_BRANCH);
|
|
||||||
switch ($event->getDetail('action')) {
|
|
||||||
case 'pick':
|
|
||||||
$xaction->setNewValue(1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'revert':
|
|
||||||
$xaction->setNewValue(0);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
throw new Exception(sprintf(
|
|
||||||
"Unhandled ReleephRequestEvent type '%s' in RQ%d",
|
|
||||||
$event->getType(),
|
|
||||||
$rq->getID()));
|
|
||||||
}
|
|
||||||
|
|
||||||
$xaction->save();
|
|
||||||
}
|
|
||||||
echo("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
$table->endReadLocking();
|
|
||||||
$table->saveTransaction();
|
|
||||||
echo "Done.\n";
|
|
||||||
|
|
|
@ -1987,7 +1987,6 @@ phutil_register_library_map(array(
|
||||||
'ReleephRequestCommentController' => 'applications/releeph/controller/request/ReleephRequestCommentController.php',
|
'ReleephRequestCommentController' => 'applications/releeph/controller/request/ReleephRequestCommentController.php',
|
||||||
'ReleephRequestDifferentialCreateController' => 'applications/releeph/controller/request/ReleephRequestDifferentialCreateController.php',
|
'ReleephRequestDifferentialCreateController' => 'applications/releeph/controller/request/ReleephRequestDifferentialCreateController.php',
|
||||||
'ReleephRequestEditController' => 'applications/releeph/controller/request/ReleephRequestEditController.php',
|
'ReleephRequestEditController' => 'applications/releeph/controller/request/ReleephRequestEditController.php',
|
||||||
'ReleephRequestEvent' => 'applications/releeph/storage/request/ReleephRequestEvent.php',
|
|
||||||
'ReleephRequestException' => 'applications/releeph/storage/request/exception/ReleephRequestException.php',
|
'ReleephRequestException' => 'applications/releeph/storage/request/exception/ReleephRequestException.php',
|
||||||
'ReleephRequestHeaderListView' => 'applications/releeph/view/request/header/ReleephRequestHeaderListView.php',
|
'ReleephRequestHeaderListView' => 'applications/releeph/view/request/header/ReleephRequestHeaderListView.php',
|
||||||
'ReleephRequestHeaderView' => 'applications/releeph/view/request/header/ReleephRequestHeaderView.php',
|
'ReleephRequestHeaderView' => 'applications/releeph/view/request/header/ReleephRequestHeaderView.php',
|
||||||
|
@ -4189,7 +4188,6 @@ phutil_register_library_map(array(
|
||||||
'ReleephRequestCommentController' => 'ReleephProjectController',
|
'ReleephRequestCommentController' => 'ReleephProjectController',
|
||||||
'ReleephRequestDifferentialCreateController' => 'ReleephProjectController',
|
'ReleephRequestDifferentialCreateController' => 'ReleephProjectController',
|
||||||
'ReleephRequestEditController' => 'ReleephProjectController',
|
'ReleephRequestEditController' => 'ReleephProjectController',
|
||||||
'ReleephRequestEvent' => 'ReleephDAO',
|
|
||||||
'ReleephRequestException' => 'Exception',
|
'ReleephRequestException' => 'Exception',
|
||||||
'ReleephRequestHeaderListView' => 'AphrontView',
|
'ReleephRequestHeaderListView' => 'AphrontView',
|
||||||
'ReleephRequestHeaderView' => 'AphrontView',
|
'ReleephRequestHeaderView' => 'AphrontView',
|
||||||
|
|
|
@ -234,14 +234,6 @@ final class ReleephRequest extends ReleephDAO
|
||||||
return $this->loadReleephBranch()->loadReleephProject();
|
return $this->loadReleephBranch()->loadReleephProject();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function loadEvents() {
|
|
||||||
return $this->loadRelatives(
|
|
||||||
new ReleephRequestEvent(),
|
|
||||||
'releephRequestID',
|
|
||||||
'getID',
|
|
||||||
'(1 = 1) ORDER BY dateCreated, id');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function loadPhabricatorRepositoryCommit() {
|
public function loadPhabricatorRepositoryCommit() {
|
||||||
return $this->loadOneRelative(
|
return $this->loadOneRelative(
|
||||||
new PhabricatorRepositoryCommit(),
|
new PhabricatorRepositoryCommit(),
|
||||||
|
|
|
@ -1,94 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
final class ReleephRequestEvent extends ReleephDAO {
|
|
||||||
|
|
||||||
const TYPE_CREATE = 'create';
|
|
||||||
const TYPE_STATUS = 'status'; // old events
|
|
||||||
const TYPE_USER_INTENT = 'user-intent';
|
|
||||||
const TYPE_PICK_STATUS = 'pick-status';
|
|
||||||
const TYPE_COMMIT = 'commit';
|
|
||||||
const TYPE_MANUAL_ACTION = 'manual-action';
|
|
||||||
const TYPE_DISCOVERY = 'discovery';
|
|
||||||
const TYPE_COMMENT = 'comment';
|
|
||||||
|
|
||||||
protected $releephRequestID;
|
|
||||||
protected $type;
|
|
||||||
protected $actorPHID;
|
|
||||||
protected $details = array();
|
|
||||||
|
|
||||||
public function getConfiguration() {
|
|
||||||
return array(
|
|
||||||
self::CONFIG_SERIALIZATION => array(
|
|
||||||
'details' => self::SERIALIZATION_JSON,
|
|
||||||
),
|
|
||||||
) + parent::getConfiguration();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getDetail($key, $default = null) {
|
|
||||||
return idx($this->details, $key, $default);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setDetail($key, $value) {
|
|
||||||
$this->details[$key] = $value;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function setDetails(array $details) {
|
|
||||||
throw new Exception('Use setDetail()!');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setStatusBefore($status) {
|
|
||||||
return $this->setDetail('oldStatus', $status);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setStatusAfter($status) {
|
|
||||||
return $this->setDetail('newStatus', $status);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getStatusBefore() {
|
|
||||||
return $this->getDetail('oldStatus');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getStatusAfter() {
|
|
||||||
return $this->getDetail('newStatus');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getComment() {
|
|
||||||
return $this->getDetail('comment');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function extractPHIDs() {
|
|
||||||
$phids = array();
|
|
||||||
$phids[] = $this->actorPHID;
|
|
||||||
foreach ($this->details as $key => $value) {
|
|
||||||
if (strpos($key, 'PHID') !== false || strpos($key, 'phid') !== false) {
|
|
||||||
$phids[] = $value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $phids;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function canGroupWith(ReleephRequestEvent $next) {
|
|
||||||
if ($this->getActorPHID() != $next->getActorPHID()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->getComment() && $next->getComment()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Break the chain if the next event changes the status
|
|
||||||
if ($next->getStatusBefore() != $next->getStatusAfter()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Don't group if the next event starts off with a different status to the
|
|
||||||
// one we ended with. This probably shouldn't ever happen.
|
|
||||||
if ($this->getStatusAfter() != $next->getStatusBefore()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in a new issue