So, this is going to be pretty annoying to work around. I think what is going on is something like this:
- The ClassicPress version of
wp-includes/version.php is written during the migration, and everything appears to succeed
wp-admin/about.php loads, and reads
wp-includes/version.php, but gets the old version of the file
- After a page refresh, the filesystem (or whatever caching layer is in play here) has caught up and everything starts working again
There are old versions of some other PHP files being read too, this is why the (W) logo appears in the admin bar.
I think this is a broken server configuration, because the filesystem and PHP should never see the old, previous contents for a file after it is overwritten with new contents.
Anyway, if it is a common error, we will find out about it here, and something like the following hack should work OK:
wp-admin/about.php to refresh itself up to 5 times if the
classicpress_version function does not exist.
Testing this change will require a customized build of the migration plugin + ClassicPress, which will be easier to do after this task is completed: