Page MenuHomePhabricator

Allow MergeHistory to change page's most recent revision and move part of page history to title that do not exist
Open, LowPublic

Description

T382958: History merge should support timestamps on both ends make it possible to merge a block of history to another page; this task propose to relax the restriction further. Currently if you want to move part of history to a new title you need to create a page on new title, which is ugly.

Note:

  • If such an action changed the latest revision of any page, we do a null edit on the page so it can get rerendered.
  • We should prevent actions that make a revdeled or suppressed edit the latest revision

Event Timeline

aaron triaged this task as Low priority.Thu, Aug 6, 6:04 AM

Agreed this would be nice. I deferred it when working on that task largely because in all cases there is a workaround (the one Bugreporter just described) and thinking through all the edge cases is a pain - you thought of some, but another thing you would need to do is emit a PageLatestRevisionChangedEvent on the page whose current revision was changed, and if you're creating a new page go through a lot -- but importantly not all -- of the steps involved in creating a page. So this breaks a lot of subtle, potentially unstated assumptions in MediaWiki core code and anyone trying to do it (which won't be me) should beware.

if you're creating a new page go through a lot -- but importantly not all -- of the steps involved in creating a page.

This would be comparible with undeleting a page (which supports undeleting some of revision). Indeed, the way to split page history before MergeHistory supports it is first delete it and then undelete some of revisions.