Page MenuHomePhabricator

Reverted and Manual Revert Tags malfunction
Closed, InvalidPublicBUG REPORT

Description

On webpage https://commons.wikimedia.org/w/index.php?title=File:Quadriga-verleihung-rr-20.jpg&action=history

I removed "{{Rename |1=Quadriga-verleihung-rr-20.jpg |2=1}} " at line 1 (revision 866348947) then in the following revision I removed "{{Rename |1=Quadriga-verleihung-rr-20.jpg |2=4}}\n" (revision 866348947) at line 1 to 2. Revision 866348947 now has tag reverted and revision 866348947 has tag manual revert. This behavior doesn't follow the description at Special:Tags about mw-reverted "Edits that were later reverted by a different edit".

Event Timeline

Expected behavior is that there are no reverted and manual revert tags attached to these two edits, because in this case the following edit doesn't revert the previous edit.

Expected behavior is that there are no reverted and manual revert tags attached to these two edits, because in this case the following edit doesn't revert the previous edit.

Actually, the last edit is a revert to revision 865809957, the manual-revert tag seems correct.

I have no explanation for the revert tag of revision 866348947, though.

In my opinion, this perfectly matches https://www.mediawiki.org/wiki/Manual:Reverts#Manual_revert

MariaDB [commonswiki_p]> SELECT rev_timestamp, rev_id, rev_sha1, rev_len, (SELECT GROUP_CONCAT(ctd_name SEPARATOR ',') FROM change_tag_def JOIN change_tag ON ct_tag_id = ctd_id WHERE ct_rev_id = rev_id) AS ts_tags FROM revision WHERE rev_page = 4966748 ORDER BY rev_timestamp DESC, rev_id DESC LIMIT 10;
+----------------+-----------+---------------------------------+---------+----------------------------------------+
| rev_timestamp  | rev_id    | rev_sha1                        | rev_len | ts_tags                                |
+----------------+-----------+---------------------------------+---------+----------------------------------------+
| 20240406225557 | 866349068 | c57dpmffv1kxf8a0vx8qyl8znojhcya |    2948 | visualeditor-wikitext,mw-manual-revert | <-- manual revert
| 20240406225508 | 866348947 | ew9uvbtwpzf879gv256fwqj5i2qyw14 |    2998 | mw-reverted                            | <-- reverted
| 20240406225505 | 866348942 | agq18v28t4mfvyx5fx4favkobuydziw |    3047 | NULL                                   | <-- reverted
| 20240404153001 | 865841726 | agq18v28t4mfvyx5fx4favkobuydziw |    3047 | mw-reverted,wikieditor                 | <-- reverted
| 20240404130859 | 865809957 | c57dpmffv1kxf8a0vx8qyl8znojhcya |    2948 | NULL                                   | <-- base revision
| 20200819214235 | 441012026 | c57dpmffv1kxf8a0vx8qyl8znojhcya |    2948 | NULL                                   |
| 20171016130632 | 263110882 | h9vi1gmsznx8i3pg0m5g1kue9omav1n |     570 | NULL                                   |
| 20150322224936 | 154363418 | q2me2b6y96ng7clj6og2fmoo0tc7bpr |     562 | NULL                                   |
| 20150225202308 | 151083926 | 3m9z162p02jdo6jxof2vurtaurje9f5 |     587 | NULL                                   |
| 20100614215051 |  40497753 | k8ovsfbuo8bp962xt2i5maqqb6lrql1 |     616 | NULL                                   |
+----------------+-----------+---------------------------------+---------+----------------------------------------+

#866349068's hash matches #865809957's hash, therefore all edits between are considered reverted. #866348942 is an exception, probably because it's a null edit that by definition cannot be reverted.

matmarex subscribed.

It also looks correct to me. The "manual revert" tag will always be added when an edit causes the page to have the same content as some older revision, even if you did not intend to make a revert, but just happened to make changes that cancel out previous edits. And when that tag is applied, the "reverted" tag will be applied to all intervening revisions, except for null revisions corresponding to log actions like page moves, because the page move itself is not being reverted (see T265312 for discussion about that behavior).