diff --git a/resources/celerity/map.php b/resources/celerity/map.php index cb2cd159d5..1e06d8276f 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -10,8 +10,8 @@ return array( 'core.pkg.css' => '70320e8a', 'core.pkg.js' => '5a1c336d', 'darkconsole.pkg.js' => '8ab24e01', - 'differential.pkg.css' => '5f5d3a4c', - 'differential.pkg.js' => '6b52883b', + 'differential.pkg.css' => '1940be3f', + 'differential.pkg.js' => '2b14c4a1', 'diffusion.pkg.css' => '591664fa', 'diffusion.pkg.js' => 'bfc0737b', 'maniphest.pkg.css' => '68d4dd3d', @@ -55,7 +55,7 @@ return array( 'rsrc/css/application/dashboard/dashboard.css' => '17937d22', 'rsrc/css/application/diff/inline-comment-summary.css' => 'eb5f8e8c', 'rsrc/css/application/differential/add-comment.css' => 'c478bcaa', - 'rsrc/css/application/differential/changeset-view.css' => 'f9011399', + 'rsrc/css/application/differential/changeset-view.css' => '6a8b172a', 'rsrc/css/application/differential/core.css' => '7ac3cabc', 'rsrc/css/application/differential/results-table.css' => '181aa9d9', 'rsrc/css/application/differential/revision-comment.css' => '48186045', @@ -360,14 +360,14 @@ return array( 'rsrc/js/application/dashboard/behavior-dashboard-move-panels.js' => '82439934', 'rsrc/js/application/dashboard/behavior-dashboard-query-panel-select.js' => '453c5375', 'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => 'd4eecc63', - 'rsrc/js/application/differential/ChangesetViewManager.js' => 'fce415a0', - 'rsrc/js/application/differential/DifferentialInlineCommentEditor.js' => '41060c54', + 'rsrc/js/application/differential/ChangesetViewManager.js' => 'a9af1212', + 'rsrc/js/application/differential/DifferentialInlineCommentEditor.js' => 'd3aa4b40', 'rsrc/js/application/differential/behavior-add-reviewers-and-ccs.js' => 'e10f8e18', 'rsrc/js/application/differential/behavior-comment-jump.js' => '4fdb476d', 'rsrc/js/application/differential/behavior-comment-preview.js' => '6932def3', 'rsrc/js/application/differential/behavior-diff-radios.js' => 'e1ff79b1', 'rsrc/js/application/differential/behavior-dropdown-menus.js' => '2035b9cb', - 'rsrc/js/application/differential/behavior-edit-inline-comments.js' => '1360cac8', + 'rsrc/js/application/differential/behavior-edit-inline-comments.js' => '7378d48a', 'rsrc/js/application/differential/behavior-keyboard-nav.js' => '2c426492', 'rsrc/js/application/differential/behavior-populate.js' => '8694b1df', 'rsrc/js/application/differential/behavior-show-field-details.js' => 'bba9eedf', @@ -509,7 +509,7 @@ return array( 'aphront-two-column-view-css' => '16ab3ad2', 'aphront-typeahead-control-css' => '0e403212', 'auth-css' => '1e655982', - 'changeset-view-manager' => 'fce415a0', + 'changeset-view-manager' => 'a9af1212', 'config-options-css' => '7fedf08b', 'config-welcome-css' => '6abd79be', 'conpherence-durable-column-view' => '1ef6ae75', @@ -518,9 +518,9 @@ return array( 'conpherence-notification-css' => '04a6e10a', 'conpherence-update-css' => '1099a660', 'conpherence-widget-pane-css' => '3d575438', - 'differential-changeset-view-css' => 'f9011399', + 'differential-changeset-view-css' => '6a8b172a', 'differential-core-view-css' => '7ac3cabc', - 'differential-inline-comment-editor' => '41060c54', + 'differential-inline-comment-editor' => 'd3aa4b40', 'differential-results-table-css' => '181aa9d9', 'differential-revision-add-comment-css' => 'c478bcaa', 'differential-revision-comment-css' => '48186045', @@ -569,7 +569,7 @@ return array( 'javelin-behavior-differential-comment-jump' => '4fdb476d', 'javelin-behavior-differential-diff-radios' => 'e1ff79b1', 'javelin-behavior-differential-dropdown-menus' => '2035b9cb', - 'javelin-behavior-differential-edit-inline-comments' => '1360cac8', + 'javelin-behavior-differential-edit-inline-comments' => '7378d48a', 'javelin-behavior-differential-feedback-preview' => '6932def3', 'javelin-behavior-differential-keyboard-navigation' => '2c426492', 'javelin-behavior-differential-populate' => '8694b1df', @@ -889,14 +889,6 @@ return array( 'javelin-install', 'javelin-util', ), - '1360cac8' => array( - 'javelin-behavior', - 'javelin-stratcom', - 'javelin-dom', - 'javelin-util', - 'javelin-vector', - 'differential-inline-comment-editor', - ), '13c739ea' => array( 'javelin-behavior', 'javelin-stratcom', @@ -1079,14 +1071,6 @@ return array( 'phuix-action-list-view', 'phuix-action-view', ), - '41060c54' => array( - 'javelin-dom', - 'javelin-util', - 'javelin-stratcom', - 'javelin-install', - 'javelin-request', - 'javelin-workflow', - ), 42126667 => array( 'javelin-behavior', 'javelin-dom', @@ -1332,6 +1316,14 @@ return array( 'javelin-behavior', 'javelin-dom', ), + '7378d48a' => array( + 'javelin-behavior', + 'javelin-stratcom', + 'javelin-dom', + 'javelin-util', + 'javelin-vector', + 'differential-inline-comment-editor', + ), '73d09eef' => array( 'javelin-behavior', 'javelin-vector', @@ -1637,6 +1629,16 @@ return array( 'javelin-uri', 'phabricator-keyboard-shortcut', ), + 'a9af1212' => array( + 'javelin-dom', + 'javelin-util', + 'javelin-stratcom', + 'javelin-install', + 'javelin-workflow', + 'javelin-router', + 'javelin-behavior-device', + 'javelin-vector', + ), 'a9f88de2' => array( 'javelin-behavior', 'javelin-dom', @@ -1762,6 +1764,14 @@ return array( 'javelin-quicksand', 'phabricator-keyboard-shortcut', ), + 'd3aa4b40' => array( + 'javelin-dom', + 'javelin-util', + 'javelin-stratcom', + 'javelin-install', + 'javelin-request', + 'javelin-workflow', + ), 'd4a14807' => array( 'javelin-install', 'javelin-dom', @@ -1971,16 +1981,6 @@ return array( 'javelin-dom', 'phortune-credit-card-form', ), - 'fce415a0' => array( - 'javelin-dom', - 'javelin-util', - 'javelin-stratcom', - 'javelin-install', - 'javelin-workflow', - 'javelin-router', - 'javelin-behavior-device', - 'javelin-vector', - ), 'fe287620' => array( 'javelin-install', 'javelin-dom', diff --git a/src/applications/differential/__tests__/data/empty.diff b/src/applications/differential/__tests__/data/empty.diff new file mode 100644 index 0000000000..1b606ac9c5 --- /dev/null +++ b/src/applications/differential/__tests__/data/empty.diff @@ -0,0 +1,3 @@ +diff --git a/empty b/empty +new file mode 100644 +index 0000000..e69de29 diff --git a/src/applications/differential/__tests__/data/empty.diff.one.expect b/src/applications/differential/__tests__/data/empty.diff.one.expect new file mode 100644 index 0000000000..d9b3a06ac8 --- /dev/null +++ b/src/applications/differential/__tests__/data/empty.diff.one.expect @@ -0,0 +1,5 @@ +CTYPE 1 1 (unforced) +empty +empty +- +SHIELD (none) This is an empty file. diff --git a/src/applications/differential/__tests__/data/empty.diff.two.expect b/src/applications/differential/__tests__/data/empty.diff.two.expect new file mode 100644 index 0000000000..d9b3a06ac8 --- /dev/null +++ b/src/applications/differential/__tests__/data/empty.diff.two.expect @@ -0,0 +1,5 @@ +CTYPE 1 1 (unforced) +empty +empty +- +SHIELD (none) This is an empty file. diff --git a/src/applications/differential/parser/DifferentialChangesetParser.php b/src/applications/differential/parser/DifferentialChangesetParser.php index 39bb8ce80b..51edd01336 100644 --- a/src/applications/differential/parser/DifferentialChangesetParser.php +++ b/src/applications/differential/parser/DifferentialChangesetParser.php @@ -850,9 +850,19 @@ final class DifferentialChangesetParser { // we'll never have it so we need to be prepared to not render a link. $type = 'none'; } - $shield = $renderer->renderShield( - pht('The contents of this file were not changed.'), - $type); + + $type_add = DifferentialChangeType::TYPE_ADD; + if ($this->changeset->getChangeType() == $type_add) { + // Although the generic message is sort of accurate in a technical + // sense, this more-tailored message is less confusing. + $shield = $renderer->renderShield( + pht('This is an empty file.'), + $type); + } else { + $shield = $renderer->renderShield( + 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.'),