Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F19491457
D20185.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
32 KB
Referenced Files
None
Subscribers
None
D20185.diff
View Options
diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -12,7 +12,7 @@
'core.pkg.css' => '261ee8cf',
'core.pkg.js' => '5ace8a1e',
'differential.pkg.css' => 'c3f15714',
- 'differential.pkg.js' => '67c9ea4c',
+ 'differential.pkg.js' => 'be031567',
'diffusion.pkg.css' => '42c75c37',
'diffusion.pkg.js' => '91192d85',
'maniphest.pkg.css' => '35995d6d',
@@ -374,7 +374,7 @@
'rsrc/js/application/dashboard/behavior-dashboard-move-panels.js' => '076bd092',
'rsrc/js/application/dashboard/behavior-dashboard-query-panel-select.js' => '1e413dc9',
'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => '9b1cbd76',
- 'rsrc/js/application/diff/DiffChangeset.js' => 'e7cf10d6',
+ 'rsrc/js/application/diff/DiffChangeset.js' => 'd0a85a85',
'rsrc/js/application/diff/DiffChangesetList.js' => 'b91204e9',
'rsrc/js/application/diff/DiffInline.js' => 'a4a14a94',
'rsrc/js/application/diff/behavior-preview-link.js' => 'f51e9c17',
@@ -753,7 +753,7 @@
'phabricator-darklog' => '3b869402',
'phabricator-darkmessage' => '26cd4b73',
'phabricator-dashboard-css' => '4267d6c6',
- 'phabricator-diff-changeset' => 'e7cf10d6',
+ 'phabricator-diff-changeset' => 'd0a85a85',
'phabricator-diff-changeset-list' => 'b91204e9',
'phabricator-diff-inline' => 'a4a14a94',
'phabricator-drag-and-drop-file-upload' => '4370900d',
@@ -1973,6 +1973,17 @@
'javelin-stratcom',
'javelin-util',
),
+ 'd0a85a85' => array(
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-install',
+ 'javelin-workflow',
+ 'javelin-router',
+ 'javelin-behavior-device',
+ 'javelin-vector',
+ 'phabricator-diff-inline',
+ ),
'd12d214f' => array(
'javelin-install',
'javelin-dom',
@@ -2038,17 +2049,6 @@
'javelin-dom',
'phabricator-draggable-list',
),
- 'e7cf10d6' => array(
- 'javelin-dom',
- 'javelin-util',
- 'javelin-stratcom',
- 'javelin-install',
- 'javelin-workflow',
- 'javelin-router',
- 'javelin-behavior-device',
- 'javelin-vector',
- 'phabricator-diff-inline',
- ),
'e8240b50' => array(
'javelin-behavior',
'javelin-stratcom',
diff --git a/src/applications/config/check/PhabricatorExtraConfigSetupCheck.php b/src/applications/config/check/PhabricatorExtraConfigSetupCheck.php
--- a/src/applications/config/check/PhabricatorExtraConfigSetupCheck.php
+++ b/src/applications/config/check/PhabricatorExtraConfigSetupCheck.php
@@ -533,6 +533,8 @@
'This ancient extension point has been replaced with other '.
'mechanisms, including "AphrontSite".'),
+ 'differential.whitespace-matters' => pht(
+ 'Whitespace rendering is now handled automatically.'),
);
return $ancient_config;
diff --git a/src/applications/differential/__tests__/DifferentialParseRenderTestCase.php b/src/applications/differential/__tests__/DifferentialParseRenderTestCase.php
--- a/src/applications/differential/__tests__/DifferentialParseRenderTestCase.php
+++ b/src/applications/differential/__tests__/DifferentialParseRenderTestCase.php
@@ -31,7 +31,6 @@
foreach (array('one', 'two') as $type) {
$this->runParser($type, $data, $file, 'expect');
$this->runParser($type, $data, $file, 'unshielded');
- $this->runParser($type, $data, $file, 'whitespace');
}
}
}
@@ -44,25 +43,20 @@
}
$unshielded = false;
- $whitespace = false;
switch ($extension) {
case 'unshielded':
$unshielded = true;
break;
- case 'whitespace';
- $unshielded = true;
- $whitespace = true;
- break;
}
$parsers = $this->buildChangesetParsers($type, $data, $file);
- $actual = $this->renderParsers($parsers, $unshielded, $whitespace);
+ $actual = $this->renderParsers($parsers, $unshielded);
$expect = Filesystem::readFile($test_file);
$this->assertEqual($expect, $actual, basename($test_file));
}
- private function renderParsers(array $parsers, $unshield, $whitespace) {
+ private function renderParsers(array $parsers, $unshield) {
$result = array();
foreach ($parsers as $parser) {
if ($unshield) {
@@ -73,11 +67,6 @@
$e_range = null;
}
- if ($whitespace) {
- $parser->setWhitespaceMode(
- DifferentialChangesetParser::WHITESPACE_SHOW_ALL);
- }
-
$result[] = $parser->render($s_range, $e_range, array());
}
return implode(str_repeat('~', 80)."\n", $result);
diff --git a/src/applications/differential/__tests__/data/generated.diff.one.unshielded b/src/applications/differential/__tests__/data/generated.diff.one.unshielded
--- a/src/applications/differential/__tests__/data/generated.diff.one.unshielded
+++ b/src/applications/differential/__tests__/data/generated.diff.one.unshielded
@@ -1,6 +1,5 @@
N 1 . @generated\n~
-O 2 - \n~
+N 2 . \n~
O 3 - This is a generated file.\n~
-N 2 + \n~
N 3 + This is a generated file{(, full of generated code)}.\n~
N 4 . \n~
diff --git a/src/applications/differential/__tests__/data/generated.diff.two.unshielded b/src/applications/differential/__tests__/data/generated.diff.two.unshielded
--- a/src/applications/differential/__tests__/data/generated.diff.two.unshielded
+++ b/src/applications/differential/__tests__/data/generated.diff.two.unshielded
@@ -1,7 +1,7 @@
O 1 . @generated\n~
N 1 . @generated\n~
-O 2 - \n~
-N 2 + \n~
+O 2 . \n~
+N 2 . \n~
O 3 - This is a generated file.\n~
N 3 + This is a generated file{(, full of generated code)}.\n~
O 4 . \n~
diff --git a/src/applications/differential/__tests__/data/whitespace.diff.one.expect b/src/applications/differential/__tests__/data/whitespace.diff.one.expect
--- a/src/applications/differential/__tests__/data/whitespace.diff.one.expect
+++ b/src/applications/differential/__tests__/data/whitespace.diff.one.expect
@@ -2,4 +2,5 @@
WHITESPACE
WHITESPACE
-
-SHIELD (whitespace) This file was changed only by adding or removing whitespace.
+O 1 - -=[-Rocket-Ship>\n~
+N 1 + {> )}-=[-Rocket-Ship>\n~
diff --git a/src/applications/differential/__tests__/data/whitespace.diff.two.expect b/src/applications/differential/__tests__/data/whitespace.diff.two.expect
--- a/src/applications/differential/__tests__/data/whitespace.diff.two.expect
+++ b/src/applications/differential/__tests__/data/whitespace.diff.two.expect
@@ -2,4 +2,5 @@
WHITESPACE
WHITESPACE
-
-SHIELD (whitespace) This file was changed only by adding or removing whitespace.
+O 1 - -=[-Rocket-Ship>\n~
+N 1 + {> )}-=[-Rocket-Ship>\n~
diff --git a/src/applications/differential/config/PhabricatorDifferentialConfigOptions.php b/src/applications/differential/config/PhabricatorDifferentialConfigOptions.php
--- a/src/applications/differential/config/PhabricatorDifferentialConfigOptions.php
+++ b/src/applications/differential/config/PhabricatorDifferentialConfigOptions.php
@@ -80,18 +80,6 @@
"Select and reorder revision fields.\n\n".
"NOTE: This feature is under active development and subject ".
"to change.")),
- $this->newOption(
- 'differential.whitespace-matters',
- 'list<regex>',
- array(
- '/\.py$/',
- '/\.l?hs$/',
- '/\.ya?ml$/',
- ))
- ->setDescription(
- pht(
- "List of file regexps where whitespace is meaningful and should ".
- "not use 'ignore-all' by default")),
$this->newOption('differential.require-test-plan-field', 'bool', true)
->setBoolOptions(
array(
diff --git a/src/applications/differential/controller/DifferentialRevisionViewController.php b/src/applications/differential/controller/DifferentialRevisionViewController.php
--- a/src/applications/differential/controller/DifferentialRevisionViewController.php
+++ b/src/applications/differential/controller/DifferentialRevisionViewController.php
@@ -305,10 +305,6 @@
$details = $this->buildDetails($revision, $field_list);
$curtain = $this->buildCurtain($revision);
- $whitespace = $request->getStr(
- 'whitespace',
- DifferentialChangesetParser::WHITESPACE_IGNORE_MOST);
-
$repository = $revision->getRepository();
if ($repository) {
$symbol_indexes = $this->buildSymbolIndexes(
@@ -383,7 +379,6 @@
->setDiff($target)
->setRenderingReferences($rendering_references)
->setVsMap($vs_map)
- ->setWhitespace($whitespace)
->setSymbolIndexes($symbol_indexes)
->setTitle(pht('Diff %s', $target->getID()))
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY);
@@ -412,7 +407,6 @@
->setDiffUnitStatuses($broken_diffs)
->setSelectedVersusDiffID($diff_vs)
->setSelectedDiffID($target->getID())
- ->setSelectedWhitespace($whitespace)
->setCommitsForLinks($commits_for_links);
$local_table = id(new DifferentialLocalCommitsView())
@@ -1095,7 +1089,7 @@
// this ends up being something like
// D123.diff
// or the verbose
- // D123.vs123.id123.whitespaceignore-all.diff
+ // D123.vs123.id123.highlightjs.diff
// lame but nice to include these options
$file_name = ltrim($request_uri->getPath(), '/').'.';
foreach ($request_uri->getQueryParamsAsPairList() as $pair) {
diff --git a/src/applications/differential/parser/DifferentialChangesetParser.php b/src/applications/differential/parser/DifferentialChangesetParser.php
--- a/src/applications/differential/parser/DifferentialChangesetParser.php
+++ b/src/applications/differential/parser/DifferentialChangesetParser.php
@@ -19,7 +19,6 @@
protected $specialAttributes = array();
protected $changeset;
- protected $whitespaceMode = null;
protected $renderCacheKey = null;
@@ -163,7 +162,6 @@
}
public function readParametersFromRequest(AphrontRequest $request) {
- $this->setWhitespaceMode($request->getStr('whitespace'));
$this->setCharacterEncoding($request->getStr('encoding'));
$this->setHighlightAs($request->getStr('highlight'));
@@ -191,20 +189,14 @@
return $this;
}
- const CACHE_VERSION = 12;
+ const CACHE_VERSION = 13;
const CACHE_MAX_SIZE = 8e6;
const ATTR_GENERATED = 'attr:generated';
const ATTR_DELETED = 'attr:deleted';
const ATTR_UNCHANGED = 'attr:unchanged';
- const ATTR_WHITELINES = 'attr:white';
const ATTR_MOVEAWAY = 'attr:moveaway';
- const WHITESPACE_SHOW_ALL = 'show-all';
- const WHITESPACE_IGNORE_TRAILING = 'ignore-trailing';
- const WHITESPACE_IGNORE_MOST = 'ignore-most';
- const WHITESPACE_IGNORE_ALL = 'ignore-all';
-
public function setOldLines(array $lines) {
$this->old = $lines;
return $this;
@@ -336,11 +328,6 @@
return $this;
}
- public function setWhitespaceMode($whitespace_mode) {
- $this->whitespaceMode = $whitespace_mode;
- return $this;
- }
-
public function setRenderingReference($ref) {
$this->renderingReference = $ref;
return $this;
@@ -574,10 +561,6 @@
return idx($this->specialAttributes, self::ATTR_UNCHANGED, false);
}
- public function isWhitespaceOnly() {
- return idx($this->specialAttributes, self::ATTR_WHITELINES, false);
- }
-
public function isMoveAway() {
return idx($this->specialAttributes, self::ATTR_MOVEAWAY, false);
}
@@ -624,18 +607,8 @@
}
private function tryCacheStuff() {
- $whitespace_mode = $this->whitespaceMode;
- switch ($whitespace_mode) {
- case self::WHITESPACE_SHOW_ALL:
- case self::WHITESPACE_IGNORE_TRAILING:
- case self::WHITESPACE_IGNORE_ALL:
- break;
- default:
- $whitespace_mode = self::WHITESPACE_IGNORE_MOST;
- break;
- }
+ $skip_cache = false;
- $skip_cache = ($whitespace_mode != self::WHITESPACE_IGNORE_MOST);
if ($this->disableCache) {
$skip_cache = true;
}
@@ -648,8 +621,6 @@
$skip_cache = true;
}
- $this->whitespaceMode = $whitespace_mode;
-
$changeset = $this->changeset;
if ($changeset->getFileType() != DifferentialChangeType::FILE_TEXT &&
@@ -668,71 +639,10 @@
}
private function process() {
- $whitespace_mode = $this->whitespaceMode;
$changeset = $this->changeset;
- $ignore_all = (($whitespace_mode == self::WHITESPACE_IGNORE_MOST) ||
- ($whitespace_mode == self::WHITESPACE_IGNORE_ALL));
-
- $force_ignore = ($whitespace_mode == self::WHITESPACE_IGNORE_ALL);
-
- if (!$force_ignore) {
- if ($ignore_all && $changeset->getWhitespaceMatters()) {
- $ignore_all = false;
- }
- }
-
- // The "ignore all whitespace" algorithm depends on rediffing the
- // files, and we currently need complete representations of both
- // files to do anything reasonable. If we only have parts of the files,
- // don't use the "ignore all" algorithm.
- if ($ignore_all) {
- $hunks = $changeset->getHunks();
- if (count($hunks) !== 1) {
- $ignore_all = false;
- } else {
- $first_hunk = reset($hunks);
- if ($first_hunk->getOldOffset() != 1 ||
- $first_hunk->getNewOffset() != 1) {
- $ignore_all = false;
- }
- }
- }
-
- if ($ignore_all) {
- $old_file = $changeset->makeOldFile();
- $new_file = $changeset->makeNewFile();
- if ($old_file == $new_file) {
- // If the old and new files are exactly identical, the synthetic
- // diff below will give us nonsense and whitespace modes are
- // irrelevant anyway. This occurs when you, e.g., copy a file onto
- // itself in Subversion (see T271).
- $ignore_all = false;
- }
- }
-
$hunk_parser = new DifferentialHunkParser();
- $hunk_parser->setWhitespaceMode($whitespace_mode);
$hunk_parser->parseHunksForLineData($changeset->getHunks());
-
- // Depending on the whitespace mode, we may need to compute a different
- // set of changes than the set of changes in the hunk data (specifically,
- // we might want to consider changed lines which have only whitespace
- // changes as unchanged).
- if ($ignore_all) {
- $engine = new PhabricatorDifferenceEngine();
- $engine->setIgnoreWhitespace(true);
- $no_whitespace_changeset = $engine->generateChangesetFromFileContent(
- $old_file,
- $new_file);
-
- $type_parser = new DifferentialHunkParser();
- $type_parser->parseHunksForLineData($no_whitespace_changeset->getHunks());
-
- $hunk_parser->setOldLineTypeMap($type_parser->getOldLineTypeMap());
- $hunk_parser->setNewLineTypeMap($type_parser->getNewLineTypeMap());
- }
-
$hunk_parser->reparseHunksForSpecialAttributes();
$unchanged = false;
@@ -753,7 +663,6 @@
$this->setSpecialAttributes(array(
self::ATTR_UNCHANGED => $unchanged,
self::ATTR_DELETED => $hunk_parser->getIsDeleted(),
- self::ATTR_WHITELINES => !$hunk_parser->getHasTextChanges(),
self::ATTR_MOVEAWAY => $moveaway,
));
@@ -971,10 +880,6 @@
pht('The contents of this file were not changed.'),
$type);
}
- } else if ($this->isWhitespaceOnly()) {
- $shield = $renderer->renderShield(
- pht('This file was changed only by adding or removing whitespace.'),
- 'whitespace');
} else if ($this->isDeleted()) {
$shield = $renderer->renderShield(
pht('This file was completely deleted.'));
diff --git a/src/applications/differential/parser/DifferentialHunkParser.php b/src/applications/differential/parser/DifferentialHunkParser.php
--- a/src/applications/differential/parser/DifferentialHunkParser.php
+++ b/src/applications/differential/parser/DifferentialHunkParser.php
@@ -7,7 +7,6 @@
private $intraLineDiffs;
private $depthOnlyLines;
private $visibleLinesMask;
- private $whitespaceMode;
/**
* Get a map of lines on which hunks start, other than line 1. This
@@ -125,21 +124,6 @@
return $this->depthOnlyLines;
}
- public function setWhitespaceMode($white_space_mode) {
- $this->whitespaceMode = $white_space_mode;
- return $this;
- }
-
- private function getWhitespaceMode() {
- if ($this->whitespaceMode === null) {
- throw new Exception(
- pht(
- 'You must %s before accessing this data.',
- 'setWhitespaceMode'));
- }
- return $this->whitespaceMode;
- }
-
public function getIsDeleted() {
foreach ($this->getNewLines() as $line) {
if ($line) {
@@ -159,13 +143,6 @@
return false;
}
- /**
- * Returns true if the hunks change any text, not just whitespace.
- */
- public function getHasTextChanges() {
- return $this->getHasChanges('text');
- }
-
/**
* Returns true if the hunks change anything, including whitespace.
*/
@@ -193,9 +170,6 @@
}
if ($o['type'] !== $n['type']) {
- // The types are different, so either the underlying text is actually
- // different or whatever whitespace rules we're using consider them
- // different.
return true;
}
@@ -278,63 +252,6 @@
$this->setOldLines($rebuild_old);
$this->setNewLines($rebuild_new);
- $this->updateChangeTypesForWhitespaceMode();
-
- return $this;
- }
-
- private function updateChangeTypesForWhitespaceMode() {
- $mode = $this->getWhitespaceMode();
-
- $mode_show_all = DifferentialChangesetParser::WHITESPACE_SHOW_ALL;
- if ($mode === $mode_show_all) {
- // If we're showing all whitespace, we don't need to perform any updates.
- return;
- }
-
- $mode_trailing = DifferentialChangesetParser::WHITESPACE_IGNORE_TRAILING;
- $is_trailing = ($mode === $mode_trailing);
-
- $new = $this->getNewLines();
- $old = $this->getOldLines();
- foreach ($old as $key => $o) {
- $n = $new[$key];
-
- if (!$o || !$n) {
- continue;
- }
-
- if ($is_trailing) {
- // In "trailing" mode, we need to identify lines which are marked
- // changed but differ only by trailing whitespace. We mark these lines
- // unchanged.
- if ($o['type'] != $n['type']) {
- if (rtrim($o['text']) === rtrim($n['text'])) {
- $old[$key]['type'] = null;
- $new[$key]['type'] = null;
- }
- }
- } else {
- // In "ignore most" and "ignore all" modes, we need to identify lines
- // which are marked unchanged but have internal whitespace changes.
- // We want to ignore leading and trailing whitespace changes only, not
- // internal whitespace changes (`diff` doesn't have a mode for this, so
- // we have to fix it here). If the text is marked unchanged but the
- // old and new text differs by internal space, mark the lines changed.
- if ($o['type'] === null && $n['type'] === null) {
- if ($o['text'] !== $n['text']) {
- if (trim($o['text']) !== trim($n['text'])) {
- $old[$key]['type'] = '-';
- $new[$key]['type'] = '+';
- }
- }
- }
- }
- }
-
- $this->setOldLines($old);
- $this->setNewLines($new);
-
return $this;
}
diff --git a/src/applications/differential/parser/DifferentialLineAdjustmentMap.php b/src/applications/differential/parser/DifferentialLineAdjustmentMap.php
--- a/src/applications/differential/parser/DifferentialLineAdjustmentMap.php
+++ b/src/applications/differential/parser/DifferentialLineAdjustmentMap.php
@@ -359,7 +359,6 @@
}
$changeset = id(new PhabricatorDifferenceEngine())
- ->setIgnoreWhitespace(true)
->generateChangesetFromFileContent($u_old, $v_old);
$results[$u][$v] = self::newFromHunks(
diff --git a/src/applications/differential/render/DifferentialChangesetHTMLRenderer.php b/src/applications/differential/render/DifferentialChangesetHTMLRenderer.php
--- a/src/applications/differential/render/DifferentialChangesetHTMLRenderer.php
+++ b/src/applications/differential/render/DifferentialChangesetHTMLRenderer.php
@@ -367,7 +367,6 @@
$reference = $this->getRenderingReference();
if ($force !== 'text' &&
- $force !== 'whitespace' &&
$force !== 'none' &&
$force !== 'default') {
throw new Exception(
@@ -388,10 +387,6 @@
'range' => $range,
);
- if ($force == 'whitespace') {
- $meta['whitespace'] = DifferentialChangesetParser::WHITESPACE_SHOW_ALL;
- }
-
$content = array();
$content[] = $message;
if ($force !== 'none') {
diff --git a/src/applications/differential/render/DifferentialChangesetRenderer.php b/src/applications/differential/render/DifferentialChangesetRenderer.php
--- a/src/applications/differential/render/DifferentialChangesetRenderer.php
+++ b/src/applications/differential/render/DifferentialChangesetRenderer.php
@@ -406,9 +406,6 @@
* important (e.g., generated code).
* - `"text"`: Force the text to be shown. This is probably only relevant
* when a file is not changed.
- * - `"whitespace"`: Force the text to be shown, and the diff to be
- * rendered with all whitespace shown. This is probably only relevant
- * when a file is changed only by altering whitespace.
* - `"none"`: Don't show the link (e.g., text not available).
*
* @param string Message explaining why the diff is hidden.
diff --git a/src/applications/differential/storage/DifferentialChangeset.php b/src/applications/differential/storage/DifferentialChangeset.php
--- a/src/applications/differential/storage/DifferentialChangeset.php
+++ b/src/applications/differential/storage/DifferentialChangeset.php
@@ -249,17 +249,6 @@
return $path;
}
- public function getWhitespaceMatters() {
- $config = PhabricatorEnv::getEnvConfig('differential.whitespace-matters');
- foreach ($config as $regexp) {
- if (preg_match($regexp, $this->getFilename())) {
- return true;
- }
- }
-
- return false;
- }
-
public function attachDiff(DifferentialDiff $diff) {
$this->diff = $diff;
return $this;
diff --git a/src/applications/differential/view/DifferentialChangesetDetailView.php b/src/applications/differential/view/DifferentialChangesetDetailView.php
--- a/src/applications/differential/view/DifferentialChangesetDetailView.php
+++ b/src/applications/differential/view/DifferentialChangesetDetailView.php
@@ -9,7 +9,6 @@
private $id;
private $vsChangesetID;
private $renderURI;
- private $whitespace;
private $renderingRef;
private $autoload;
private $loaded;
@@ -42,15 +41,6 @@
return $this->renderingRef;
}
- public function setWhitespace($whitespace) {
- $this->whitespace = $whitespace;
- return $this;
- }
-
- public function getWhitespace() {
- return $this->whitespace;
- }
-
public function setRenderURI($render_uri) {
$this->renderURI = $render_uri;
return $this;
@@ -196,7 +186,6 @@
'left' => $left_id,
'right' => $right_id,
'renderURI' => $this->getRenderURI(),
- 'whitespace' => $this->getWhitespace(),
'highlight' => null,
'renderer' => $this->getRenderer(),
'ref' => $this->getRenderingRef(),
diff --git a/src/applications/differential/view/DifferentialChangesetListView.php b/src/applications/differential/view/DifferentialChangesetListView.php
--- a/src/applications/differential/view/DifferentialChangesetListView.php
+++ b/src/applications/differential/view/DifferentialChangesetListView.php
@@ -7,7 +7,6 @@
private $references = array();
private $inlineURI;
private $renderURI = '/differential/changeset/';
- private $whitespace;
private $background;
private $header;
private $isStandalone;
@@ -100,11 +99,6 @@
return $this;
}
- public function setWhitespace($whitespace) {
- $this->whitespace = $whitespace;
- return $this;
- }
-
public function setVsMap(array $vs_map) {
$this->vsMap = $vs_map;
return $this;
@@ -180,7 +174,6 @@
$detail->setRenderingRef($ref);
$detail->setRenderURI($this->renderURI);
- $detail->setWhitespace($this->whitespace);
$detail->setRenderer($renderer);
if ($this->getParser()) {
@@ -352,8 +345,7 @@
$meta = array();
$qparams = array(
- 'ref' => $ref,
- 'whitespace' => $this->whitespace,
+ 'ref' => $ref,
);
if ($this->standaloneURI) {
diff --git a/src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php b/src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php
--- a/src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php
+++ b/src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php
@@ -5,7 +5,6 @@
private $diffs = array();
private $selectedVersusDiffID;
private $selectedDiffID;
- private $selectedWhitespace;
private $commitsForLinks = array();
private $unitStatus = array();
@@ -25,11 +24,6 @@
return $this;
}
- public function setSelectedWhitespace($whitespace) {
- $this->selectedWhitespace = $whitespace;
- return $this;
- }
-
public function setCommitsForLinks(array $commits) {
assert_instances_of($commits, 'PhabricatorRepositoryCommit');
$this->commitsForLinks = $commits;
@@ -224,28 +218,6 @@
'radios' => $radios,
));
- $options = array(
- DifferentialChangesetParser::WHITESPACE_IGNORE_ALL => pht('Ignore All'),
- DifferentialChangesetParser::WHITESPACE_IGNORE_MOST => pht('Ignore Most'),
- DifferentialChangesetParser::WHITESPACE_IGNORE_TRAILING =>
- pht('Ignore Trailing'),
- DifferentialChangesetParser::WHITESPACE_SHOW_ALL => pht('Show All'),
- );
-
- foreach ($options as $value => $label) {
- $options[$value] = phutil_tag(
- 'option',
- array(
- 'value' => $value,
- 'selected' => ($value == $this->selectedWhitespace)
- ? 'selected'
- : null,
- ),
- $label);
- }
- $select = phutil_tag('select', array('name' => 'whitespace'), $options);
-
-
$table = id(new AphrontTableView($rows));
$table->setHeaders(
array(
@@ -291,13 +263,6 @@
'class' => 'differential-update-history-footer',
),
array(
- phutil_tag(
- 'label',
- array(),
- array(
- pht('Whitespace Changes:'),
- $select,
- )),
phutil_tag(
'button',
array(),
diff --git a/src/applications/diffusion/controller/DiffusionChangeController.php b/src/applications/diffusion/controller/DiffusionChangeController.php
--- a/src/applications/diffusion/controller/DiffusionChangeController.php
+++ b/src/applications/diffusion/controller/DiffusionChangeController.php
@@ -64,9 +64,6 @@
$changeset_view->setRawFileURIs($left_uri, $right_uri);
$changeset_view->setRenderURI($repository->getPathURI('diff/'));
-
- $changeset_view->setWhitespace(
- DifferentialChangesetParser::WHITESPACE_SHOW_ALL);
$changeset_view->setUser($viewer);
$changeset_view->setHeader($changeset_header);
diff --git a/src/applications/diffusion/controller/DiffusionDiffController.php b/src/applications/diffusion/controller/DiffusionDiffController.php
--- a/src/applications/diffusion/controller/DiffusionDiffController.php
+++ b/src/applications/diffusion/controller/DiffusionDiffController.php
@@ -88,9 +88,6 @@
($viewer->getPHID() == $commit->getAuthorPHID()));
$parser->setObjectOwnerPHID($commit->getAuthorPHID());
- $parser->setWhitespaceMode(
- DifferentialChangesetParser::WHITESPACE_SHOW_ALL);
-
$inlines = PhabricatorAuditInlineComment::loadDraftAndPublishedComments(
$viewer,
$commit->getPHID(),
diff --git a/src/docs/user/userguide/differential_faq.diviner b/src/docs/user/userguide/differential_faq.diviner
--- a/src/docs/user/userguide/differential_faq.diviner
+++ b/src/docs/user/userguide/differential_faq.diviner
@@ -51,22 +51,6 @@
PHP. See the `pygments.enabled` configuration setting.
-= What do the whitespace options mean? =
-
-Most of these are pretty straightforward, but "Ignore Most" is not:
-
- - **Show All**: Show all whitespace.
- - **Ignore Trailing**: Ignore changes which only affect trailing whitespace.
- - **Ignore Most**: Ignore changes which only affect leading or trailing
- whitespace (but not whitespace changes between non-whitespace characters)
- in files which are not marked as having significant whitespace.
- In those files, show whitespace changes. By default, Python (.py) and
- Haskell (.lhs, .hs) are marked as having significant whitespace, but this
- can be changed in the `differential.whitespace-matters` configuration
- setting.
- - **Ignore All**: Ignore all whitespace changes in all files.
-
-
= What do the very light green and red backgrounds mean? =
Differential uses these colors to mark changes coming from rebase: they are
diff --git a/src/infrastructure/diff/PhabricatorDifferenceEngine.php b/src/infrastructure/diff/PhabricatorDifferenceEngine.php
--- a/src/infrastructure/diff/PhabricatorDifferenceEngine.php
+++ b/src/infrastructure/diff/PhabricatorDifferenceEngine.php
@@ -10,7 +10,6 @@
final class PhabricatorDifferenceEngine extends Phobject {
- private $ignoreWhitespace;
private $oldName;
private $newName;
@@ -18,19 +17,6 @@
/* -( Configuring the Engine )--------------------------------------------- */
- /**
- * If true, ignore whitespace when computing differences.
- *
- * @param bool Ignore whitespace?
- * @return this
- * @task config
- */
- public function setIgnoreWhitespace($ignore_whitespace) {
- $this->ignoreWhitespace = $ignore_whitespace;
- return $this;
- }
-
-
/**
* Set the name to identify the old file with. Primarily cosmetic.
*
@@ -73,9 +59,6 @@
public function generateRawDiffFromFileContent($old, $new) {
$options = array();
- if ($this->ignoreWhitespace) {
- $options[] = '-bw';
- }
// Generate diffs with full context.
$options[] = '-U65535';
@@ -100,12 +83,10 @@
$new_tmp);
if (!$err) {
- // This indicates that the two files are the same (or, possibly, the
- // same modulo whitespace differences, which is why we can't do this
- // check trivially before running `diff`). Build a synthetic, changeless
- // diff so that we can still render the raw, unchanged file instead of
- // being forced to just say "this file didn't change" since we don't have
- // the content.
+ // This indicates that the two files are the same. Build a synthetic,
+ // changeless diff so that we can still render the raw, unchanged file
+ // instead of being forced to just say "this file didn't change" since we
+ // don't have the content.
$entire_file = explode("\n", $old);
foreach ($entire_file as $k => $line) {
@@ -123,26 +104,6 @@
"+++ {$new_name}\n".
"@@ -1,{$len} +1,{$len} @@\n".
$entire_file."\n";
- } else {
- if ($this->ignoreWhitespace) {
-
- // Under "-bw", `diff` is inconsistent about emitting "\ No newline
- // at end of file". For instance, a long file with a change in the
- // middle will emit a contextless "\ No newline..." at the end if a
- // newline is removed, but not if one is added. A file with a change
- // at the end will emit the "old" "\ No newline..." block only, even
- // if the newline was not removed. Since we're ostensibly ignoring
- // whitespace changes, just drop these lines if they appear anywhere
- // in the diff.
-
- $lines = explode("\n", $diff);
- foreach ($lines as $key => $line) {
- if (isset($line[0]) && $line[0] == '\\') {
- unset($lines[$key]);
- }
- }
- $diff = implode("\n", $lines);
- }
}
return $diff;
diff --git a/webroot/rsrc/js/application/diff/DiffChangeset.js b/webroot/rsrc/js/application/diff/DiffChangeset.js
--- a/webroot/rsrc/js/application/diff/DiffChangeset.js
+++ b/webroot/rsrc/js/application/diff/DiffChangeset.js
@@ -22,7 +22,6 @@
this._renderURI = data.renderURI;
this._ref = data.ref;
- this._whitespace = data.whitespace;
this._renderer = data.renderer;
this._highlight = data.highlight;
this._encoding = data.encoding;
@@ -46,7 +45,6 @@
_renderURI: null,
_ref: null,
- _whitespace: null,
_renderer: null,
_highlight: null,
_encoding: null,
@@ -310,7 +308,6 @@
_getViewParameters: function() {
return {
ref: this._ref,
- whitespace: this._whitespace || '',
renderer: this.getRenderer() || '',
highlight: this._highlight || '',
encoding: this._encoding || ''
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Jan 9, 7:21 AM (1 d, 2 h ago)
Storage Engine
amazon-s3
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
phabricator/secure/xq/2q/ejkcvuq45waq6xem
Default Alt Text
D20185.diff (32 KB)
Attached To
Mode
D20185: Remove all whitespace options/configuration everywhere
Attached
Detach File
Event Timeline
Log In to Comment