Page MenuHomePhabricator

When showing a diff-of-diffs, hide files which didn't get any more changes and have no inlines
ClosedPublic

Authored by epriestley on May 16 2018, 4:10 PM.
Tags
None
Referenced Files
F18142036: D19453.id46534.diff
Thu, Aug 14, 11:24 AM
F18112208: D19453.diff
Tue, Aug 12, 4:12 PM
F18111059: D19453.id46530.diff
Tue, Aug 12, 6:01 AM
F18110539: D19453.id.diff
Mon, Aug 11, 8:51 PM
F18104431: D19453.diff
Sun, Aug 10, 12:20 PM
F17951111: D19453.id46530.diff
Fri, Aug 1, 1:00 AM
F17949071: D19453.id46531.diff
Thu, Jul 31, 10:48 PM
F17796705: D19453.id46531.diff
Jul 25 2025, 1:13 AM
Subscribers
None

Details

Summary

Ref T13137. See that task for discussion.

When we show a diff-of-diffs, we often render stubs for files which didn't change between the diffs. These stubs usually aren't a big deal, but for certain types of changes (like refactors) they can create a lot of clutter.

Instead, hide these stubs and show a notice that we hid them.

Test Plan
  • Created a revision affecting 4 files.
  • Updated it with a diff that changed only 1 of the 4 files.
  • Added an inline comment to a different file.
  • Viewed the diff of diffs.
    • Before: 4 changesets with two "nothing changed" stubs.
    • After: 2 changesets with the stubs hidden.

Screen Shot 2018-05-16 at 9.08.33 AM.png (538×1 px, 98 KB)

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Since this relies on a content hash, it will only work when diffing diffs created after this goes live, unless you go retroactively rebuild a bunch of changesets with bin/differential rebuild-changesets.

  • If we would hide only one changeset, don't hide it. It's sort of pointless to hide one changeset and replace it with a notice that we hid it.

...it will only work when diffing diffs created after this goes live...

Which presumably is fine since users aren't generally viewing diff-of-diffs for already accepted revisions.

This revision is now accepted and ready to land.May 16 2018, 5:33 PM