Page MenuHomePhabricator

Allow 3-way merge from arbitary revisions
Closed, ResolvedPublic

Description

This allows the following cool "editprotected" flow:

  1. Requester puts the modified version of the requested page somewhere else (maybe a subpage of talk page).
  2. Requester tells admins revision ids of the modified version and the original revision which the modified one is based on, possibly with a gadget.
  3. An admin edits the page with &undoafter=<modified revid>&undo=<original revid>.
  4. If there's a conflict, admins can check &diff=<modified revid>&oldid=<original revid> and manually apply that, or ask the requester to submit a new "patch".

Actually existing code can work in this way, and it's only some sanity check which blocks that. gerrit 91943 is a demonstration of removal of that.


Version: 1.22.0
Severity: normal

Details

Reference
bz56184

Event Timeline

bzimport raised the priority of this task from to Normal.Nov 22 2014, 2:37 AM
bzimport set Reference to bz56184.
bzimport added a subscriber: Unknown Object (MLST).
liangent created this task.Oct 25 2013, 7:09 PM

Change 91943 had a related patch set uploaded by Liangent:
DO NOT MERGE

https://gerrit.wikimedia.org/r/91943

Besides the check, "# If they got undoafter and undo round the wrong way, switch them" also needs to be removed. I'm not sure whether this is feasible, but &diff=&oldid= is not working in this way (to be smart and swap values when "needed", and IIRC it was working in this way).

Change 91943 merged by jenkins-bot:
(bug 56184) Allow 3-way merge from arbitrary revisions

https://gerrit.wikimedia.org/r/91943