Page MenuHomePhabricator

For changesets that affect binaries, use the new binary file content hash as an effect hash
ClosedPublic

Authored by epriestley on Apr 27 2020, 3:29 PM.
Tags
None
Referenced Files
F18762942: D21174.diff
Oct 6 2025, 9:41 PM
F18761431: D21174.id50421.diff
Oct 6 2025, 2:19 PM
F18761278: D21174.id.diff
Oct 6 2025, 1:22 PM
F18761273: D21174.id50422.diff
Oct 6 2025, 1:20 PM
F18736372: D21174.id50422.diff
Oct 1 2025, 5:38 AM
F18672894: D21174.diff
Sep 25 2025, 8:34 AM
F18645708: D21174.diff
Sep 19 2025, 8:26 AM
F18636316: D21174.id.diff
Sep 17 2025, 3:56 AM
Subscribers
None

Details

Summary

Ref T13522. When changesets update an image, we currently compute no effect hash. A content hash of the image (or other binary file) is a reasonable effect hash, and enalbes effect-hash-based behavior, including hiding files in intradiffs.

Test Plan
  • Created a revision affecting cat.png and quack.txt (currently, there must be 2+ changesets to trigger the hide logic).
  • Updated it with the exact same changes.
  • Viewed revision:
    • Saw the image renderered in the interdiff.
  • Applied patch.
  • Ran bin/differential rebuild-changesets ....
  • Viewed revision:
    • Saw both changesets collapse as unchanged.

Diff Detail

Repository
rP Phabricator
Branch
file1
Lint
Lint Passed
SeverityLocationCodeMessage
Advicesrc/applications/differential/storage/DifferentialDiff.php:235XHP16TODO Comment
Unit
Tests Passed
Build Status
Buildable 24240
Build 33387: Run Core Tests
Build 33386: arc lint + arc unit