diff --git a/src/applications/differential/controller/revisionview/DifferentialRevisionViewController.php b/src/applications/differential/controller/revisionview/DifferentialRevisionViewController.php
index 5a03483b2e..e73757d9c3 100644
--- a/src/applications/differential/controller/revisionview/DifferentialRevisionViewController.php
+++ b/src/applications/differential/controller/revisionview/DifferentialRevisionViewController.php
@@ -169,11 +169,18 @@ class DifferentialRevisionViewController extends DifferentialController {
$comment_view->setUser($user);
$comment_view->setTargetDiff($target);
+ $changeset_view = new DifferentialChangesetListView();
+ $changeset_view->setChangesets($visible_changesets);
+ $changeset_view->setEditable(true);
+ $changeset_view->setRevision($revision);
+ $changeset_view->setVsMap($vs_map);
+ $changeset_view->setWhitespace($request->getStr('whitespace'));
+
$diff_history = new DifferentialRevisionUpdateHistoryView();
$diff_history->setDiffs($diffs);
$diff_history->setSelectedVersusDiffID($diff_vs);
$diff_history->setSelectedDiffID($target->getID());
- $diff_history->setSelectedWhitespace($request->getStr('whitespace'));
+ $diff_history->setSelectedWhitespace($changeset_view->getWhitespace());
$toc_view = new DifferentialDiffTableOfContentsView();
$toc_view->setChangesets($changesets);
@@ -181,12 +188,6 @@ class DifferentialRevisionViewController extends DifferentialController {
$toc_view->setVsMap($vs_map);
$toc_view->setRevisionID($revision->getID());
- $changeset_view = new DifferentialChangesetListView();
- $changeset_view->setChangesets($visible_changesets);
- $changeset_view->setEditable(true);
- $changeset_view->setRevision($revision);
- $changeset_view->setVsMap($vs_map);
- $changeset_view->setWhitespace($request->getStr('whitespace'));
$draft = id(new PhabricatorDraft())->loadOneWhere(
'authorPHID = %s AND draftKey = %s',
@@ -594,273 +595,3 @@ class DifferentialRevisionViewController extends DifferentialController {
}
}
-/*
-
-
- protected function getSandcastleURI(Diff $diff) {
- $uri = $this->getDiffProperty($diff, 'facebook:sandcastle_uri');
- if (!$uri) {
- $uri = $diff->getSandboxURL();
- }
- return $uri;
- }
-
- protected function getDiffProperty(Diff $diff, $property, $default = null) {
- $diff_id = $diff->getID();
- if (empty($this->diffProperties[$diff_id])) {
- $props = id(new DifferentialDiffProperty())
- ->loadAllWhere('diffID = %s', $diff_id);
- $dict = array_pull($props, 'getData', 'getName');
- $this->diffProperties[$diff_id] = $dict;
- }
- return idx($this->diffProperties[$diff_id], $property, $default);
- }
-
- $diff_table->appendChild(
-
- |
-
- {id()->setOptions(
- array(
- 'ignore-all' => 'Ignore All',
- 'ignore-trailing' => 'Ignore Trailing',
- 'show-all' => 'Show All',
- ), $request->getStr('whitespace'))}{' '}
-
- |
-
);
-
- $load_ids = array_filter(array($old, $diff->getID()));
-
- $viewer_id = $this->getRequest()->getViewerContext()->getUserID();
-
- $raw_objects = queryfx_all(
- smc_get_db('cdb.differential', 'r'),
- 'SELECT * FROM changeset WHERE changeset.diffID IN (%Ld)',
- $load_ids);
-
- $raw_objects = array_group($raw_objects, 'diffID');
- $objects = $raw_objects[$diff->getID()];
-
- if (!$objects) {
- $changesets = array();
- } else {
- $changesets = id(new DifferentialChangeset())->loadAllFromArray($objects);
- }
-
-
-
- $feedback = id(new DifferentialFeedback())->loadAllWithRevision($revision);
- $feedback = array_merge($implied_feedback, $feedback);
-
- $inline_comments = $this->loadInlineComments($feedback, $changesets);
-
- $diff_map = array();
- $diffs = array_psort($diffs, 'getID');
- foreach ($diffs as $diff) {
- $diff_map[$diff->getID()] = count($diff_map) + 1;
- }
- $visible_changesets = array_fill_keys($visible_changesets, true);
- $hidden_changesets = array();
- foreach ($changesets as $changeset) {
- $id = $changeset->getID();
- if (isset($visible_changesets[$id])) {
- continue;
- }
- $hidden_changesets[$id] = $diff_map[$changeset->getDiffID()];
- }
-
-
- $engine = new RemarkupEngine();
- $engine->enableFeature(RemarkupEngine::FEATURE_GUESS_IMAGES);
- $engine->enableFeature(RemarkupEngine::FEATURE_YOUTUBE);
- $engine->setCurrentSandcastle($this->getSandcastleURI($target_diff));
-
- $syntax_link =
- Remarkup Reference;
-
-
- $notice = null;
- if ($this->getRequest()->getBool('diff_changed')) {
- $notice =
-
- This revision was updated with a new diff while you
- were providing feedback. Your inline comments appear on the
- old diff.
- ;
- }
-
- $engineering_repository_id = RepositoryRef::getByCallsign('E')->getID();
- $svn_revision = $revision->getSVNRevision();
- if ($status == DifferentialConstants::COMMITTED &&
- $svn_revision &&
- $revision->getRepositoryID() == $engineering_repository_id) {
- $href = '/intern/push/request.php?rev='.$svn_revision;
- $href = RedirectURI($href)->setTier('intern');
- $links[] = array(
- 'merge',
- Ask for Merge,
- );
- }
-
- }
-
-
- protected function renderDiffPropertyMoreLink(Diff $diff, $name) {
- $target = ;
- $meta = array(
- 'target' => $target->requireUniqueID(),
- 'uri' => '/differential/diffprop/'.$diff->getID().'/'.$name.'/',
- );
- $more =
-
- ·
- Show Details
- ;
- return {$more}{$target};
- }
-
-
-
- protected function getRevisionStatusDisplay(DifferentialRevision $revision) {
- $viewer_id = $this->getRequest()->getViewerContext()->getUserID();
- $viewer_is_owner = ($viewer_id == $revision->getOwnerID());
- $status = $revision->getStatus();
-
- $more = null;
- switch ($status) {
- case DifferentialConstants::NEEDS_REVIEW:
- $message = 'Pending Review';
- break;
- case DifferentialConstants::NEEDS_REVISION:
- $message = 'Awaiting Revision';
- if ($viewer_is_owner) {
- $more = 'Make the requested changes and update the revision.';
- }
- break;
- case DifferentialConstants::ACCEPTED:
- $message = 'Ready for Commit';
- if ($viewer_is_owner) {
- $more =
-
- Run arc commit (svn) or arc amend (git) to
- proceed.
- ;
- }
- break;
- case DifferentialConstants::COMMITTED:
- $message = 'Committed';
- $ref = $revision->getRevisionRef();
- $more = $ref
- ? (getDetailURL())}>
- {$ref->getName()}
- )
- : null;
-
- $engineering_repository_id = RepositoryRef::getByCallsign('E')->getID();
- if ($revision->getSVNRevision() &&
- $revision->getRepositoryID() == $engineering_repository_id) {
- Javelin::initBehavior(
- 'differential-revtracker-status',
- array(
- 'uri' => '/differential/revtracker/'.$revision->getID().'/',
- 'statusId' => 'revtracker_status',
- 'mergeLinkId' => 'ask_for_merge_link',
- ));
- }
- break;
- case DifferentialConstants::ABANDONED:
- $message = 'Abandoned';
- break;
- default:
- throw new Exception("Unknown revision status.");
- }
-
- if ($more) {
- $message =
-
- {$message}
- · {$more}
- ;
- } else {
- $message = {$message};
- }
-
- return $message;
- }
-
-}
- protected function getDetailFields(
- DifferentialRevision $revision,
- Diff $diff,
- array $handles) {
-
- $sandcastle = $this->getSandcastleURI($diff);
- if ($sandcastle) {
- $fields['Sandcastle'] = {$sandcastle};
- }
-
-
- $blame_rev = $revision->getSvnBlameRevision();
- if ($blame_rev) {
- if ($revision->getRepositoryRef() && is_numeric($blame_rev)) {
- $ref = new RevisionRef($revision->getRepositoryRef(), $blame_rev);
- $fields['Blame Revision'] =
- getDetailURL())}>
- {$ref->getName()}
- ;
- } else {
- $fields['Blame Revision'] = $blame_rev;
- }
- }
-
-
- $bugzilla_id = $revision->getBugzillaID();
- if ($bugzilla_id) {
- $href = 'http://bugs.developers.facebook.com/show_bug.cgi?id='.
- $bugzilla_id;
- $fields['Bugzilla'] = {'#'.$bugzilla_id};
- }
-
- $fields['Apply Patch'] = arc patch --revision {$revision->getID()};
-
- if ($diff->getParentRevisionID()) {
- $parent = id(new DifferentialRevision())->load(
- $diff->getParentRevisionID());
- if ($parent) {
- $fields['Depends On'] =
- getURI()}>
- D{$parent->getID()}: {$parent->getName()}
- ;
- }
- }
-
- Javelin::initBehavior('differential-star-more');
- if ($unit_details) {
- $fields['Unit Tests'] =
-
- {$fields['Unit Tests']}
- {$this->renderDiffPropertyMoreLink($diff, 'unit')}
- ;
- }
-
- $platform_impact = $revision->getPlatformImpact();
- if ($platform_impact) {
- $fields['Platform Impact'] =
- {$platform_impact};
- }
-
- return $fields;
- }
-
-
-*/
diff --git a/src/applications/differential/view/changesetlistview/DifferentialChangesetListView.php b/src/applications/differential/view/changesetlistview/DifferentialChangesetListView.php
index 35eacc4c9b..d43118e4b5 100644
--- a/src/applications/differential/view/changesetlistview/DifferentialChangesetListView.php
+++ b/src/applications/differential/view/changesetlistview/DifferentialChangesetListView.php
@@ -23,7 +23,9 @@ class DifferentialChangesetListView extends AphrontView {
private $revision;
private $renderURI = '/differential/changeset/';
private $vsMap = array();
- private $whitespace = null;
+
+ // This is the Default value for whitespace mode!
+ private $whitespace = 'ignore-trailing';
public function setChangesets($changesets) {
$this->changesets = $changesets;
@@ -51,10 +53,16 @@ class DifferentialChangesetListView extends AphrontView {
}
public function setWhitespace($whitespace) {
- $this->whitespace = $whitespace;
+ if ($whitespace) {
+ $this->whitespace = $whitespace;
+ }
return $this;
}
+ public function getWhitespace() {
+ return $this->whitespace;
+ }
+
public function render() {
require_celerity_resource('differential-changeset-view-css');