@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.

Fix an intradiff error when the newer changeset does not exist

Summary: Ref T13523. If a file hasn't been touched in the newer changeset, we can currently hit an error in the interdiff.

Test Plan:
- Touched "moo.txt" in Diff 1.
- Reverted the changes to "moo.txt" in Diff 2.
- Diffed 2 vs 1.
- Before patch: fatal (call to getFilename() on null).
- After patch: clean interdiff.

Maniphest Tasks: T13523

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

+5 -1
+5 -1
src/applications/differential/storage/DifferentialChangeset.php
··· 560 560 $right_state = $right->hasNewState(); 561 561 $shared_metadata = $right->getMetadata(); 562 562 $right_type = $right->getNewFileType(); 563 + 564 + $file_name = $right->getFilename(); 563 565 } else { 564 566 $right_data = $left->makeOldFile(); 565 567 $right_properties = $left->getOldProperties(); 566 568 $right_metadata = $left->getOldStateMetadata(); 567 569 $right_state = $left->hasOldState(); 568 570 $right_type = $left->getOldFileType(); 571 + 572 + $file_name = $left->getFilename(); 569 573 } 570 574 571 575 $engine = new PhabricatorDifferenceEngine(); ··· 578 582 ->makeEphemeral(true) 579 583 ->attachDiff($left->getDiff()) 580 584 ->setOldFile($left->getFilename()) 581 - ->setFilename($right->getFilename()); 585 + ->setFilename($file_name); 582 586 583 587 // TODO: Change type? 584 588 // TODO: Away paths?