Page MenuHomePhabricator

Phabricator diffs for changes in a list of items makes it hard to find differences
Open, LowestPublic

Description

The current diff feature used here at the Pabricator can result in ridiculously long, quite uninformative diffs, like this one (not sure if this link will work "permanently"):

Compare that output to the diff shown at enwiki when the same change is made over there (this assumes you are using the current default diff view on that wiki):

Can we get a diff here that behaves more like the latter example?

Event Timeline

Dcljr created this task.Dec 27 2018, 10:18 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptDec 27 2018, 10:18 PM

(I assume this is not the first request of this kind, but I couldn't find a similar task in a search. Please close this as a duplicate, if necessary.)

Restricted Application added a project: Upstream. · View Herald TranscriptDec 27 2018, 10:23 PM

To explain what is seen in the diffs, and what I'm objecting to:

The edit in question consisted of multiple changes sprinkled throughout many multiple-item lists.

The Phabricator diff shows in red all of the "old" text between the very first and very last changed lines, followed by the "new" version of all that text in green; this results in several hundred lines of colored text, the vast majority of which were not modified at all, and makes it basically impossible to see what was actually changed.

The diff used in enwiki (and, of course, the other Wikimedia content wikis), breaks up the text into several chunks, each of which contain just 1 or 2 lines of modified text. This results in several dozen lines of output instead of hundreds, and makes it much easier to see what was changed.

Note that I am not actually requesting that the Phabricator diff feature omit any unchanged text and/or use line numbers to indicate where the changes happened. It can still show unchanged text in gray and not omit any text. I'm just hoping it could get smarter about identifying only those isolated parts of the text that were actually changed.

(Oh, and of course the enwiki diff is double-column, whereas the Phabricator diff is not. This difference is irrelevant to what I'm requesting here.)

Basically, all I'm suggesting is that the Phabricator diff feature be able to handle changes across multiple lines similarly to how it (usually) handles multiple changes within a single line (/paragaph). Typically, it shows the changed words and phrases isolated from each other, separated by stretches of unchanged, gray text, and not one huge paragraph of red text followed by one huge paragraph of green text.

This might only be a problem with lists. I'm not sure. Also, I don't know if it depends on the formatting used in the lists (i.e., multiple lines not formatted in any particular way vs. lines prefixed by "-" markup vs. lines prefixed by "*" bullet points).

Aklapper renamed this task from improve Phabricator diffs to Phabricator diffs for changes in a list of items makes it hard to find differences.Dec 28 2018, 2:09 PM
Aklapper triaged this task as Lowest priority.