@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Highlight copied/moved lines in Differential

Summary: The color used for this feature is pretty important and I am bad with colors.

Test Plan:
View diff created by D2320 with some copied lines and one line changed:

{F10604, size=full}

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Koolvin

Differential Revision: https://secure.phabricator.com/D2321

vrana 13a48a79 7affae93

+42 -16
+23 -16
src/__celerity_resource_map__.php
··· 14 14 'disk' => '/rsrc/image/apps.png', 15 15 'type' => 'png', 16 16 ), 17 + '/rsrc/image/avatar.png' => 18 + array( 19 + 'hash' => '1c5f255071537f05406adee86717ff27', 20 + 'uri' => '/res/1c5f2550/rsrc/image/avatar.png', 21 + 'disk' => '/rsrc/image/avatar.png', 22 + 'type' => 'png', 23 + ), 17 24 '/rsrc/image/credit_cards.png' => 18 25 array( 19 26 'hash' => '681448de424ea159b6ea68af04c046ae', ··· 524 531 ), 525 532 'differential-changeset-view-css' => 526 533 array( 527 - 'uri' => '/res/00dcf176/rsrc/css/application/differential/changeset-view.css', 534 + 'uri' => '/res/5c7db62d/rsrc/css/application/differential/changeset-view.css', 528 535 'type' => 'css', 529 536 'requires' => 530 537 array( ··· 2484 2491 'uri' => '/res/pkg/0c96375e/core.pkg.js', 2485 2492 'type' => 'js', 2486 2493 ), 2487 - 'a841d960' => 2494 + '1715d060' => 2488 2495 array( 2489 2496 'name' => 'differential.pkg.css', 2490 2497 'symbols' => ··· 2503 2510 11 => 'differential-local-commits-view-css', 2504 2511 12 => 'inline-comment-summary-css', 2505 2512 ), 2506 - 'uri' => '/res/pkg/a841d960/differential.pkg.css', 2513 + 'uri' => '/res/pkg/1715d060/differential.pkg.css', 2507 2514 'type' => 'css', 2508 2515 ), 2509 2516 70509835 => ··· 2626 2633 'aphront-dialog-view-css' => '9c4e265b', 2627 2634 'aphront-error-view-css' => '9c4e265b', 2628 2635 'aphront-form-view-css' => '9c4e265b', 2629 - 'aphront-headsup-action-list-view-css' => 'a841d960', 2636 + 'aphront-headsup-action-list-view-css' => '1715d060', 2630 2637 'aphront-headsup-view-css' => '9c4e265b', 2631 2638 'aphront-list-filter-view-css' => '9c4e265b', 2632 2639 'aphront-pager-view-css' => '9c4e265b', ··· 2636 2643 'aphront-tokenizer-control-css' => '9c4e265b', 2637 2644 'aphront-tooltip-css' => '9c4e265b', 2638 2645 'aphront-typeahead-control-css' => '9c4e265b', 2639 - 'differential-changeset-view-css' => 'a841d960', 2640 - 'differential-core-view-css' => 'a841d960', 2646 + 'differential-changeset-view-css' => '1715d060', 2647 + 'differential-core-view-css' => '1715d060', 2641 2648 'differential-inline-comment-editor' => '70509835', 2642 - 'differential-local-commits-view-css' => 'a841d960', 2643 - 'differential-revision-add-comment-css' => 'a841d960', 2644 - 'differential-revision-comment-css' => 'a841d960', 2645 - 'differential-revision-comment-list-css' => 'a841d960', 2646 - 'differential-revision-detail-css' => 'a841d960', 2647 - 'differential-revision-history-css' => 'a841d960', 2648 - 'differential-table-of-contents-css' => 'a841d960', 2649 + 'differential-local-commits-view-css' => '1715d060', 2650 + 'differential-revision-add-comment-css' => '1715d060', 2651 + 'differential-revision-comment-css' => '1715d060', 2652 + 'differential-revision-comment-list-css' => '1715d060', 2653 + 'differential-revision-detail-css' => '1715d060', 2654 + 'differential-revision-history-css' => '1715d060', 2655 + 'differential-table-of-contents-css' => '1715d060', 2649 2656 'diffusion-commit-view-css' => 'c8ce2d88', 2650 2657 'diffusion-icons-css' => 'c8ce2d88', 2651 - 'inline-comment-summary-css' => 'a841d960', 2658 + 'inline-comment-summary-css' => '1715d060', 2652 2659 'javelin-behavior' => '8a5de8a3', 2653 2660 'javelin-behavior-aphront-basic-tokenizer' => '97f65640', 2654 2661 'javelin-behavior-aphront-drag-and-drop' => '70509835', ··· 2702 2709 'maniphest-task-summary-css' => '7839ae2d', 2703 2710 'maniphest-transaction-detail-css' => '7839ae2d', 2704 2711 'phabricator-app-buttons-css' => '9c4e265b', 2705 - 'phabricator-content-source-view-css' => 'a841d960', 2712 + 'phabricator-content-source-view-css' => '1715d060', 2706 2713 'phabricator-core-buttons-css' => '9c4e265b', 2707 2714 'phabricator-core-css' => '9c4e265b', 2708 2715 'phabricator-directory-css' => '9c4e265b', ··· 2713 2720 'phabricator-keyboard-shortcut' => '0c96375e', 2714 2721 'phabricator-keyboard-shortcut-manager' => '0c96375e', 2715 2722 'phabricator-menu-item' => '0c96375e', 2716 - 'phabricator-object-selector-css' => 'a841d960', 2723 + 'phabricator-object-selector-css' => '1715d060', 2717 2724 'phabricator-paste-file-upload' => '0c96375e', 2718 2725 'phabricator-prefab' => '0c96375e', 2719 2726 'phabricator-project-tag-css' => '7839ae2d',
+15
src/applications/differential/parser/changeset/DifferentialChangesetParser.php
··· 1277 1277 ? 'N' 1278 1278 : 'O'; 1279 1279 1280 + $copy_lines = idx($this->changeset->getMetadata(), 'copy:lines', array()); 1281 + 1280 1282 for ($ii = $range_start; $ii < $range_start + $range_len; $ii++) { 1281 1283 if (empty($mask[$ii])) { 1282 1284 // If we aren't going to show this line, we've just entered a gap. ··· 1407 1409 if ($this->new[$ii]['type'] == '\\') { 1408 1410 $n_text = $this->new[$ii]['text']; 1409 1411 $n_attr = ' class="comment"'; 1412 + } else if (isset($copy_lines[$n_num])) { 1413 + list($orig_file, $orig_line) = $copy_lines[$n_num]; 1414 + if ($orig_file == '') { 1415 + $title = "line {$orig_line}"; 1416 + } else { 1417 + $title = 1418 + basename($orig_file). 1419 + ":{$orig_line} in dir ". 1420 + dirname('/'.$orig_file); 1421 + } 1422 + $n_attr = 1423 + ' class="new new-copy"'. 1424 + ' title="Copied from '.phutil_escape_html($title).'"'; 1410 1425 } else if (empty($this->old[$ii])) { 1411 1426 $n_attr = ' class="new new-full"'; 1412 1427 } else {
+4
webroot/rsrc/css/application/differential/changeset-view.css
··· 80 80 background: #ffaaaa; 81 81 } 82 82 83 + .differential-diff td.new-copy { 84 + background: #ffffaa; 85 + } 86 + 83 87 .differential-diff td.new-full, 84 88 .differential-diff td.new span.bright { 85 89 background: #aaffaa;