Allow several edits to be undone
Closed, ResolvedPublic


Author: lupin.wp

Clicking undo from a page showing the diff for non-consecutive revisions should
attempt to undo the cumulative effect of all of the intervening edits, not
merely the final edit.

For example, consider an article with four consecutive revisions, r1,r2,r3,r4.
If I view the diff page for diff(r2,r3) I can currently hit undo to try to patch
r4 with diff(r3,r2). This is good.

However, if I view diff(r1,r3) and hit undo, r4 is still just patched with
diff(r3,r2); that is, only one edit is undone. I think that r4 should be patched
with diff(r3,r1) to undo the cumulative effect of both edits between r1 and r3.
This would be useful if, for example, both of these edits are vandalism.

The current behaviour is also confusing, as the effect of hitting undo does not
correspond with what is displayed on the diff page diff(r1,r3).

Version: 1.8.x
Severity: normal


bzimport set Reference to bz8133.
bzimport added a subscriber: Unknown Object (MLST).
bzimport created this task.Dec 3 2006, 10:45 AM

There's also been talk of removing the (undo) button from multi-revision diffs.
I think this is probably a more sensible option.

ayg wrote:

I think probably less. Why drop a potentially handy feature rather than
extending it?

aaron added a comment.Dec 14 2006, 9:25 PM

DiffEng: change Undo link construction for undoing several edits

attachment diffeng.patch ignored as obsolete

aaron added a comment.Dec 14 2006, 9:26 PM

EditPage: Undo uses two params now; can revert several edits

attachment editpage.patch ignored as obsolete

Update editpage; change summary schema

OK, this now uses "undo-summary" language only when one revision was undone and
"undo-summary_set" for muli-edit undoing.

The following can then be added to the en lang stuff:
'undo-summary_set' => 'Undo revisions $1 (by [[Special:Contributions/$3]]) to
$2 (by [[Special:Contributions/$4]])'

attachment editpage.patch ignored as obsolete

The other 6 (and later more) langs need updating as well for this to work.

aaron added a comment.Dec 15 2006, 1:34 AM

Those links above aren't piped...

Actually, for multi edit reverts, the summary should just use regular userpage
links given the cutoff length.

aaron added a comment.Dec 15 2006, 2:46 AM

Update; DiffEng, remove undo links from top diffs

attachment diffeng.patch ignored as obsolete

DiffEng; put undo links back on top diffs

Attached: diffeng.patch

Done in r20317.

brion added a comment.Mar 27 2007, 9:33 PM

I've reverted that in r20755; it appears to make incompatible changes to the URI
parameters for operating the undo feature, which is:

a) gratuitously annoying

b) would break user JS tools based on it

aaron added a comment.Apr 24 2007, 2:48 AM

Re-done in r20785.

cbm.wikipedia wrote:

The automatic edit summary for undoing multiple versions was in the original
attachment 2868 but was never implemented. Could someone add that in?

Last part of attachment 2868, which wasn't applied

Attached: Bug_2868_non-applied_patch_2868_(comment5).patch

aaron added a comment.May 9 2007, 10:44 PM

Setting backed to fixed, the bug was to enable multi-edit undo and it was done.

Summaries for multi-edit undo must be manual, as any automatic one would just be
to hard to read and be useful.

aaron added a comment.May 9 2007, 10:45 PM

If you want summaries for that anyway, make a new bug report.

Add Comment