Page MenuHomePhabricator

D21414.id51031.diff
No OneTemporary

D21414.id51031.diff

diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -863,8 +863,6 @@
'DiffusionGitWireProtocolRefList' => 'applications/diffusion/protocol/DiffusionGitWireProtocolRefList.php',
'DiffusionHistoryController' => 'applications/diffusion/controller/DiffusionHistoryController.php',
'DiffusionHistoryQueryConduitAPIMethod' => 'applications/diffusion/conduit/DiffusionHistoryQueryConduitAPIMethod.php',
- 'DiffusionHistoryTableView' => 'applications/diffusion/view/DiffusionHistoryTableView.php',
- 'DiffusionHistoryView' => 'applications/diffusion/view/DiffusionHistoryView.php',
'DiffusionHovercardEngineExtension' => 'applications/diffusion/engineextension/DiffusionHovercardEngineExtension.php',
'DiffusionIdentityAssigneeDatasource' => 'applications/diffusion/typeahead/DiffusionIdentityAssigneeDatasource.php',
'DiffusionIdentityAssigneeEditField' => 'applications/diffusion/editfield/DiffusionIdentityAssigneeEditField.php',
@@ -6955,8 +6953,6 @@
'DiffusionGitWireProtocolRefList' => 'Phobject',
'DiffusionHistoryController' => 'DiffusionController',
'DiffusionHistoryQueryConduitAPIMethod' => 'DiffusionQueryConduitAPIMethod',
- 'DiffusionHistoryTableView' => 'DiffusionHistoryView',
- 'DiffusionHistoryView' => 'DiffusionView',
'DiffusionHovercardEngineExtension' => 'PhabricatorHovercardEngineExtension',
'DiffusionIdentityAssigneeDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
'DiffusionIdentityAssigneeEditField' => 'PhabricatorTokenizerEditField',
diff --git a/src/applications/diffusion/controller/DiffusionBrowseController.php b/src/applications/diffusion/controller/DiffusionBrowseController.php
--- a/src/applications/diffusion/controller/DiffusionBrowseController.php
+++ b/src/applications/diffusion/controller/DiffusionBrowseController.php
@@ -292,7 +292,6 @@
$empty_result = null;
$browse_panel = null;
- $branch_panel = null;
if (!$results->isValidResults()) {
$empty_result = new DiffusionEmptyResultView();
$empty_result->setDiffusionRequest($drequest);
@@ -328,12 +327,6 @@
->setTable($browse_table)
->addClass('diffusion-mobile-view')
->setPager($pager);
-
- $path = $drequest->getPath();
- $is_branch = (!strlen($path) && $repository->supportsBranchComparison());
- if ($is_branch) {
- $branch_panel = $this->buildBranchTable();
- }
}
$open_revisions = $this->buildOpenRevisions();
@@ -359,7 +352,6 @@
->setFooter(
array(
$bar,
- $branch_panel,
$empty_result,
$browse_panel,
$open_revisions,
@@ -1074,59 +1066,4 @@
return $file;
}
- private function buildBranchTable() {
- $viewer = $this->getViewer();
- $drequest = $this->getDiffusionRequest();
- $repository = $drequest->getRepository();
-
- $branch = $drequest->getBranch();
- $default_branch = $repository->getDefaultBranch();
-
- if ($branch === $default_branch) {
- return null;
- }
-
- $pager = id(new PHUIPagerView())
- ->setPageSize(10);
-
- try {
- $results = $this->callConduitWithDiffusionRequest(
- 'diffusion.historyquery',
- array(
- 'commit' => $branch,
- 'against' => $default_branch,
- 'path' => $drequest->getPath(),
- 'offset' => $pager->getOffset(),
- 'limit' => $pager->getPageSize() + 1,
- ));
- } catch (Exception $ex) {
- return null;
- }
-
- $history = DiffusionPathChange::newFromConduit($results['pathChanges']);
- $history = $pager->sliceResults($history);
-
- if (!$history) {
- return null;
- }
-
- $history_table = id(new DiffusionHistoryTableView())
- ->setViewer($viewer)
- ->setDiffusionRequest($drequest)
- ->setHistory($history)
- ->setParents($results['parents'])
- ->setFilterParents(true)
- ->setIsHead(true)
- ->setIsTail(!$pager->getHasMorePages());
-
- $header = id(new PHUIHeaderView())
- ->setHeader(pht('%s vs %s', $branch, $default_branch));
-
- return id(new PHUIObjectBoxView())
- ->setHeader($header)
- ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
- ->addClass('diffusion-mobile-view')
- ->setTable($history_table);
- }
-
}
diff --git a/src/applications/diffusion/controller/DiffusionCompareController.php b/src/applications/diffusion/controller/DiffusionCompareController.php
--- a/src/applications/diffusion/controller/DiffusionCompareController.php
+++ b/src/applications/diffusion/controller/DiffusionCompareController.php
@@ -285,7 +285,6 @@
$request = $this->getRequest();
$viewer = $this->getViewer();
$drequest = $this->getDiffusionRequest();
- $repository = $drequest->getRepository();
if (!$history) {
return $this->renderStatusMessage(
@@ -296,8 +295,8 @@
phutil_tag('strong', array(), $against_ref)));
}
- $history_table = id(new DiffusionHistoryTableView())
- ->setUser($viewer)
+ $history_view = id(new DiffusionCommitGraphView())
+ ->setViewer($viewer)
->setDiffusionRequest($drequest)
->setHistory($history)
->setParents($results['parents'])
@@ -305,15 +304,6 @@
->setIsHead(!$pager->getOffset())
->setIsTail(!$pager->getHasMorePages());
- $header = id(new PHUIHeaderView())
- ->setHeader(pht('Commits'));
-
- return id(new PHUIObjectBoxView())
- ->setHeader($header)
- ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
- ->setTable($history_table)
- ->addClass('diffusion-mobile-view')
- ->setPager($pager);
-
+ return $history_view;
}
}
diff --git a/src/applications/diffusion/view/DiffusionHistoryTableView.php b/src/applications/diffusion/view/DiffusionHistoryTableView.php
deleted file mode 100644
--- a/src/applications/diffusion/view/DiffusionHistoryTableView.php
+++ /dev/null
@@ -1,208 +0,0 @@
-<?php
-
-final class DiffusionHistoryTableView extends DiffusionHistoryView {
-
- public function render() {
- $drequest = $this->getDiffusionRequest();
-
- $viewer = $this->getUser();
-
- $buildables = $this->loadBuildables(
- mpull($this->getHistory(), 'getCommit'));
- $has_any_build = false;
-
- $show_revisions = PhabricatorApplication::isClassInstalledForViewer(
- 'PhabricatorDifferentialApplication',
- $viewer);
-
- $handles = $viewer->loadHandles($this->getRequiredHandlePHIDs());
-
- $graph = null;
- if ($this->getParents()) {
- $parents = $this->getParents();
-
- // If we're filtering parents, remove relationships which point to
- // commits that are not part of the visible graph. Otherwise, we get
- // a big tree of nonsense when viewing release branches like "stable"
- // versus "master".
- if ($this->getFilterParents()) {
- foreach ($parents as $key => $nodes) {
- foreach ($nodes as $nkey => $node) {
- if (empty($parents[$node])) {
- unset($parents[$key][$nkey]);
- }
- }
- }
- }
-
- $graph = id(new PHUIDiffGraphView())
- ->setIsHead($this->getIsHead())
- ->setIsTail($this->getIsTail())
- ->renderGraph($parents);
- }
-
- $show_builds = PhabricatorApplication::isClassInstalledForViewer(
- 'PhabricatorHarbormasterApplication',
- $this->getUser());
-
- $rows = array();
- $ii = 0;
- foreach ($this->getHistory() as $history) {
- $epoch = $history->getEpoch();
-
- if ($epoch) {
- $committed = $viewer->formatShortDateTime($epoch);
- } else {
- $committed = null;
- }
-
- $data = $history->getCommitData();
- $author_phid = $committer = $committer_phid = null;
- if ($data) {
- $author_phid = $data->getCommitDetail('authorPHID');
- $committer_phid = $data->getCommitDetail('committerPHID');
- $committer = $data->getCommitDetail('committer');
- }
-
- if ($author_phid && isset($handles[$author_phid])) {
- $author = $handles[$author_phid]->renderLink();
- } else {
- $author = self::renderName($history->getAuthorName());
- }
-
- $different_committer = false;
- if ($committer_phid) {
- $different_committer = ($committer_phid != $author_phid);
- } else if ($committer != '') {
- $different_committer = ($committer != $history->getAuthorName());
- }
- if ($different_committer) {
- if ($committer_phid && isset($handles[$committer_phid])) {
- $committer = $handles[$committer_phid]->renderLink();
- } else {
- $committer = self::renderName($committer);
- }
- $author = hsprintf('%s/%s', $author, $committer);
- }
-
- // We can show details once the message and change have been imported.
- $partial_import = PhabricatorRepositoryCommit::IMPORTED_MESSAGE |
- PhabricatorRepositoryCommit::IMPORTED_CHANGE;
-
- $commit = $history->getCommit();
- if ($commit && $commit->isPartiallyImported($partial_import) && $data) {
- $summary = AphrontTableView::renderSingleDisplayLine(
- $history->getSummary());
- } else {
- $summary = phutil_tag('em', array(), pht("Importing\xE2\x80\xA6"));
- }
-
- $build = null;
- if ($show_builds) {
- $buildable = idx($buildables, $commit->getPHID());
- if ($buildable !== null) {
- $build = $this->renderBuildable($buildable);
- $has_any_build = true;
- }
- }
-
- $browse = $this->linkBrowse(
- $history->getPath(),
- array(
- 'commit' => $history->getCommitIdentifier(),
- 'branch' => $drequest->getBranch(),
- 'type' => $history->getFileType(),
- ));
-
- $status = $commit->getAuditStatusObject();
- $icon = $status->getIcon();
- $color = $status->getColor();
- $name = $status->getName();
-
- $audit_view = id(new PHUIIconView())
- ->setIcon($icon, $color)
- ->addSigil('has-tooltip')
- ->setMetadata(
- array(
- 'tip' => $name,
- ));
-
- $revision_link = null;
- if ($commit) {
- $revisions = $this->getRevisionsForCommit($commit);
- if ($revisions) {
- $revision = head($revisions);
- $revision_link = phutil_tag(
- 'a',
- array(
- 'href' => $revision->getURI(),
- ),
- $revision->getMonogram());
- }
- }
-
- $rows[] = array(
- $graph ? $graph[$ii++] : null,
- $browse,
- self::linkCommit(
- $drequest->getRepository(),
- $history->getCommitIdentifier()),
- $build,
- $audit_view,
- $revision_link,
- $author,
- $summary,
- $committed,
- );
- }
-
- $view = new AphrontTableView($rows);
- $view->setHeaders(
- array(
- null,
- null,
- pht('Commit'),
- null,
- null,
- null,
- pht('Author'),
- pht('Details'),
- pht('Committed'),
- ));
- $view->setColumnClasses(
- array(
- 'threads',
- 'nudgeright',
- '',
- 'icon',
- 'icon',
- '',
- '',
- 'wide',
- 'right',
- ));
- $view->setColumnVisibility(
- array(
- $graph ? true : false,
- true,
- true,
- $has_any_build,
- true,
- $show_revisions,
- ));
- $view->setDeviceVisibility(
- array(
- $graph ? true : false,
- true,
- true,
- true,
- true,
- true,
- false,
- true,
- false,
- ));
- return $view->render();
- }
-
-}
diff --git a/src/applications/diffusion/view/DiffusionHistoryView.php b/src/applications/diffusion/view/DiffusionHistoryView.php
deleted file mode 100644
--- a/src/applications/diffusion/view/DiffusionHistoryView.php
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-
-abstract class DiffusionHistoryView extends DiffusionView {
-
- private $history;
- private $revisions = array();
- private $handles = array();
- private $isHead;
- private $isTail;
- private $parents;
- private $filterParents;
- private $revisionMap;
-
- public function setHistory(array $history) {
- assert_instances_of($history, 'DiffusionPathChange');
- $this->history = $history;
- return $this;
- }
-
- public function getHistory() {
- return $this->history;
- }
-
- public function setHandles(array $handles) {
- assert_instances_of($handles, 'PhabricatorObjectHandle');
- $this->handles = $handles;
- return $this;
- }
-
- public function getRequiredHandlePHIDs() {
- $phids = array();
- foreach ($this->history as $item) {
- $data = $item->getCommitData();
- if ($data) {
- if ($data->getCommitDetail('authorPHID')) {
- $phids[$data->getCommitDetail('authorPHID')] = true;
- }
- if ($data->getCommitDetail('committerPHID')) {
- $phids[$data->getCommitDetail('committerPHID')] = true;
- }
- }
- }
- return array_keys($phids);
- }
-
- public function setParents(array $parents) {
- $this->parents = $parents;
- return $this;
- }
-
- public function getParents() {
- return $this->parents;
- }
-
- public function setIsHead($is_head) {
- $this->isHead = $is_head;
- return $this;
- }
-
- public function getIsHead() {
- return $this->isHead;
- }
-
- public function setIsTail($is_tail) {
- $this->isTail = $is_tail;
- return $this;
- }
-
- public function getIsTail() {
- return $this->isTail;
- }
-
- public function setFilterParents($filter_parents) {
- $this->filterParents = $filter_parents;
- return $this;
- }
-
- public function getFilterParents() {
- return $this->filterParents;
- }
-
- public function render() {}
-
- final protected function getRevisionsForCommit(
- PhabricatorRepositoryCommit $commit) {
-
- if ($this->revisionMap === null) {
- $this->revisionMap = $this->newRevisionMap();
- }
-
- return idx($this->revisionMap, $commit->getPHID(), array());
- }
-
- private function newRevisionMap() {
- $history = $this->history;
-
- $commits = array();
- foreach ($history as $item) {
- $commit = $item->getCommit();
- if ($commit) {
-
- // NOTE: The "commit" objects in the history list may be undiscovered,
- // and thus not yet have PHIDs. Only load data for commits with PHIDs.
- if (!$commit->getPHID()) {
- continue;
- }
-
- $commits[] = $commit;
- }
- }
-
- return DiffusionCommitRevisionQuery::loadRevisionMapForCommits(
- $this->getViewer(),
- $commits);
- }
-
-}

File Metadata

Mime Type
text/plain
Expires
Mon, Feb 3, 11:36 PM (21 h, 22 m)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7088062
Default Alt Text
D21414.id51031.diff (14 KB)

Event Timeline