Steps to replicate the issue (include links if applicable):
- Create/edit a TestPage by User A
- Visit Special:UserMerge to merge User A into User B and leave delete User unchecked
- Check the revision history of the TestPage?action=history
What happens?:
History still shows edit by User A
What should have happened instead?:
History should show edit by User B
Software version (skip for WMF-hosted wikis like Wikipedia):
REL1_39 on mediawiki core & UserMerge extension
Analysis
Revision_actor_temp_table is removed in REL1.39
https://www.mediawiki.org/wiki/Manual:Revision_actor_temp_table
But $updateFields still has the following definition
[ 'revision', 'batchKey' => 'rev_id', 'actorId' => '', 'actorStage' => SCHEMA_COMPAT_NEW ], ... [ 'revision_actor_temp', 'batchKey' => 'revactor_rev', 'actorId' => 'revactor_actor', 'actorStage' => SCHEMA_COMPAT_TEMP ],
but it should have been updated to
[ 'revision', 'batchKey' => 'rev_id', 'actorId' => 'rev_actor', 'actorStage' => SCHEMA_COMPAT_NEW ], ...