Show merged changes in commit views for merges
Summary: When a commit is a merge, show what it merged. Also fix some bugs: - Mercurial queries may contain ":", but mercurial rev ranges may also contain ":". A rev range with a branch that has a ":" in it is ambigiuous, e.g. branch "a:b" might appear in a rev range like "a:b:0", which can not be parsed. Use stable commit names instead. - Mercurial stable commit name implementation was broken, fix it. - Extend DiffusionHistoryQuery from DiffusionQuery to share code. - Fix a bug where Mercurial's main browse list would not show the most recent commit if it was a merge commit. Test Plan: Generated a bunch of mercurial/git merge commits and looked at them, they seemed to accurately represent the repository state. Reviewers: btrahan, Makinde Reviewed By: btrahan CC: aran, epriestley Maniphest Tasks: T961 Differential Revision: https://secure.phabricator.com/D2005
This commit is contained in:
@@ -37,18 +37,6 @@ final class DiffusionHistoryController extends DiffusionController {
|
||||
|
||||
$history = $history_query->loadHistory();
|
||||
|
||||
$phids = array();
|
||||
foreach ($history as $item) {
|
||||
$data = $item->getCommitData();
|
||||
if ($data) {
|
||||
if ($data->getCommitDetail('authorPHID')) {
|
||||
$phids[$data->getCommitDetail('authorPHID')] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
$phids = array_keys($phids);
|
||||
$handles = id(new PhabricatorObjectHandleData($phids))->loadHandles();
|
||||
|
||||
$pager = new AphrontPagerView();
|
||||
$pager->setPageSize($page_size);
|
||||
$pager->setOffset($offset);
|
||||
@@ -87,9 +75,12 @@ final class DiffusionHistoryController extends DiffusionController {
|
||||
|
||||
$history_table = new DiffusionHistoryTableView();
|
||||
$history_table->setDiffusionRequest($drequest);
|
||||
$history_table->setHandles($handles);
|
||||
$history_table->setHistory($history);
|
||||
|
||||
$phids = $history_table->getRequiredHandlePHIDs();
|
||||
$handles = id(new PhabricatorObjectHandleData($phids))->loadHandles();
|
||||
$history_table->setHandles($handles);
|
||||
|
||||
$history_panel = new AphrontPanelView();
|
||||
$history_panel->setHeader('History');
|
||||
$history_panel->addButton($button);
|
||||
|
||||
Reference in New Issue
Block a user