Page MenuHomePhabricator

Fix an issue where the last line of block-based diffs could be incorrectly hidden
ClosedPublic

Authored by epriestley on Jan 30 2020, 4:17 PM.
Tags
None
Referenced Files
F19034790: D20959.diff
Tue, Nov 25, 3:02 PM
F18985319: D20959.id49934.diff
Mon, Nov 17, 12:58 PM
F18906674: D20959.diff
Sat, Nov 8, 7:35 PM
F18904957: D20959.id49934.diff
Sat, Nov 8, 12:06 PM
F18877589: D20959.id49935.diff
Thu, Nov 6, 10:38 AM
F18870738: D20959.id49935.diff
Tue, Nov 4, 6:44 PM
F18856352: D20959.id49935.diff
Sat, Nov 1, 9:22 AM
F18836473: D20959.diff
Mon, Oct 27, 1:11 AM
Subscribers
None

Details

Summary

Fixes T13468. See that task for discussion. The older source-rendering code mixes "line number" / "1-based" lists with "block number" / "0-based" lists and then has other bugs which cancel this out.

For block-based diffs, build an explicit block-based mask with only block numbers. This sort of sidesteps the whole issue.

Test Plan

Viewed the diff with the original reproduction case, plus various other block-based diffs, including one-block image diffs, in unified and side-by-side mode. Didn't spot any oddities.

Diff Detail

Repository
rP Phabricator
Branch
jupyter1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 23760
Build 32676: Run Core Tests
Build 32675: arc lint + arc unit