1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-22 14:52:41 +01:00

Correct an apparent off-by-one error when adjusting inlines across revision changes

Summary:
See PHI1834. It's not obvious why this "+1" is present in the code, but it causes inlines to be adjusted incorrectly when a file is not modified across changes. See D21435.

Remove it, which appears to produce accurate adjustment behavior.

Test Plan:
  - See D21435 for instructions to build a change, where a file with lines "A-Z" is unmodified across Diff 1 and Diff 2.
  - Left inlines on lines 14, 17-19, and 16-26 (end of the file) on Diff 1.
  - Before: saw inlines incorrectly adjusted to lines 15, 18, and 17 on Diff 2. Before D21435, the last inline was culled by the rendering engine.
  - After: saw inlines correctly adjusted to lines 14, 17, and 16 (the same lines as the original), render properly, and highlight the correct lines when hovered.

Differential Revision: https://secure.phabricator.com/D21436
This commit is contained in:
epriestley 2020-08-05 13:06:57 -07:00
parent dbdfac1e07
commit ce0dc9a2ba

View file

@ -358,7 +358,7 @@ final class PhabricatorInlineCommentAdjustmentEngine
list($tail_deleted, $tail_offset, $tail_line) = $tail_info; list($tail_deleted, $tail_offset, $tail_line) = $tail_info;
if ($head_offset !== false) { if ($head_offset !== false) {
$inline->setLineNumber($head_line + 1 + $head_offset); $inline->setLineNumber($head_line + $head_offset);
} else { } else {
$inline->setLineNumber($head_line); $inline->setLineNumber($head_line);
$inline->setLineLength($tail_line - $head_line); $inline->setLineLength($tail_line - $head_line);