getRevision(); $diff = $this->getDiff(); $status = $revision->getStatus(); $info = null; $local_vcs = $diff->getSourceControlSystem(); $backing_vcs = $diff->getBackingVersionControlSystem(); if (!$backing_vcs) { $backing_vcs = $local_vcs; } if ($status == ArcanistDifferentialRevisionStatus::ACCEPTED) { $next_step = null; switch ($local_vcs) { case PhabricatorRepositoryType::REPOSITORY_TYPE_MERCURIAL: case PhabricatorRepositoryType::REPOSITORY_TYPE_GIT: $next_step = 'arc land'; break; case PhabricatorRepositoryType::REPOSITORY_TYPE_SVN: $next_step = 'arc commit'; break; } if ($next_step) { $info = ' · Next step: '.$next_step; } } else if ($status == ArcanistDifferentialRevisionStatus::CLOSED) { $committed = $revision->getDateCommitted(); if ($committed) { $verb = null; switch ($backing_vcs) { case PhabricatorRepositoryType::REPOSITORY_TYPE_MERCURIAL: case PhabricatorRepositoryType::REPOSITORY_TYPE_GIT: $verb = 'Pushed'; break; case PhabricatorRepositoryType::REPOSITORY_TYPE_SVN: $verb = 'Committed'; break; } if ($verb) { $when = phabricator_datetime($committed, $this->getUser()); $info = " ({$verb} {$when})"; } } } $status = ArcanistDifferentialRevisionStatus::getNameForRevisionStatus($status); return ''.$status.''.$info; } public function shouldAppearOnRevisionList() { return true; } public function renderHeaderForRevisionList() { return 'Status'; } public function renderValueForRevisionList(DifferentialRevision $revision) { return ArcanistDifferentialRevisionStatus::getNameForRevisionStatus( $revision->getStatus()); } }