Page MenuHomePhabricator

UserMerge not updated to work with REL1_39+ as Revision_actor_temp_table is removed
Closed, DuplicatePublicBUG REPORT

Description

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 ],
...