Page MenuHomePhabricator

Improve diff to handle splitting a paragraph
Open, Needs TriagePublic


A portion of this task is being developed by WMDE-TechWish Until the following task T146781 is resolved, it may not be a good idea to claim this project.

Proposed in Community-Wishlist-Survey-2016. Received 63 support votes, and ranked #13 out of 265 proposals. View full proposal with discussion and votes here.


Minor split of a paragraph create large diffs that are very hard to read: example.

Who would benefit

All people reviewing articles, but also all those newcomers that wait for their edits to be approved. Less work doing review = quicker reviews.

Proposed solution

Either somehow improve the diffing algorithm or allow users to click on different sections and re-diff them... Or maybe allow user to change wikicode on both sides and re-run diff on new wikicode.

Technical details

Time, expertise and skills required

  • e.g. 2-3 weeks, advanced contributor, javascript, css, etc

Suitable for

  • e.g. Hackathon, GSOC, Outreachy, etc.



Related links

Event Timeline

This task was proposed in the Community-Wishlist-Survey-2016 and in its current state needs owner. Wikimedia is participating in Google Summer of Code 2017 and Outreachy Round 14. To the subscribers -- would this task or a portion of it be a good fit for either of these programs? If so, would you be willing to help mentor this project? Remember, each outreach project requires a minimum of one primary mentor, and co-mentor.

@jkroll Is it fair to say that T146781: Show changes in moved text chunks (C++) is similar to this task?

The diff engine is implemented in Wikidiff2, which is a PHP extension written in C++. My work on T146781: Show changes in moved text chunks (C++) involves that same codebase. If you like, I will discuss with my team at WMDE whether we can implement this task next.

@jkroll thanks, Johannes for your reply! I've updated the task description accordingly. Whenever you're done resolving the task, could you comment on the final status here as well?