Allow several edits to be undone
Closed, ResolvedPublic

Assigned To
None
Priority
Normal
Author
bzimport
Subscribers
wikibugs-l
Projects
Reference
bz8133
Description

Author: lupin.wp

Description:
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 added a subscriber: wikibugs-l.
bzimport set Reference to bz8133.
bzimport created this task.Via LegacyDec 3 2006, 10:45 AM
werdna added a comment.Via ConduitDec 14 2006, 1:00 AM

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

bzimport added a comment.Via ConduitDec 14 2006, 3:53 AM

ayg wrote:

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

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

DiffEng: change Undo link construction for undoing several edits

attachment diffeng.patch ignored as obsolete

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

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

attachment editpage.patch ignored as obsolete

aaron added a comment.Via ConduitDec 14 2006, 10:35 PM

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

aaron added a comment.Via ConduitDec 14 2006, 10:35 PM

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

aaron added a comment.Via ConduitDec 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.Via ConduitDec 15 2006, 2:46 AM

Update; DiffEng, remove undo links from top diffs

attachment diffeng.patch ignored as obsolete

aaron added a comment.Via ConduitDec 20 2006, 12:46 AM

DiffEng; put undo links back on top diffs

Attached: diffeng.patch

aaron added a comment.Via ConduitMar 10 2007, 11:04 PM

Done in r20317.

brion added a comment.Via ConduitMar 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.Via ConduitApr 24 2007, 2:48 AM

Re-done in r20785.

bzimport added a comment.Via ConduitMay 9 2007, 10:21 PM

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?

Platonides added a comment.Via ConduitMay 9 2007, 10:24 PM

Last part of attachment 2868, which wasn't applied

Attached: Bug_2868_non-applied_patch_2868_(comment5).patch

aaron added a comment.Via ConduitMay 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.Via ConduitMay 9 2007, 10:45 PM

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

Add Comment

Column Prototype
This is a very early prototype of a persistent column. It is not expected to work yet, and leaving it open will activate other new features which will break things. Press "\" (backslash) on your keyboard to close it now.