-
Bug
-
Resolution: Fixed
-
Major
-
3.3.1
-
None
-
PHP 7.3.13
Steps to reproduce:
- Install phpBB 3.3.0
- Make a change which will cause a conflict during update
- For example, change line 1021 of memberlist.php from
if ($config['jab_enable'])
to:
if (true)
- For example, change line 1021 of memberlist.php from
- Download the 3.3.0 to 3.3.1 automatic updater
- Delete the vendor folder
- Upload the install and vendor folders
- Run the updater through the browser
- Choose "Update filesystem and database"
- Choose "Download modified files in an archive"
- A merge conflict in memberlist.php will be detected and you will be offered an archive to download.
- The text farther down under "Conflict Files" states that it is possible to determine how the conflict is handled. No options are presented other than the file name.
- Download the conflict archive. Notice that conflict is correctly identified. Fix the conflict and upload the modified version of memberlist.php
- Click Update Files
- Download the Modified Files archive
- Notice that the copy of memberlist.php in this archive is conflicted and contains the merge markers
- Upload all of these files (except memberlist.php since we already fixed it earlier)
- Click Check Files Again
- You are now taken back to step 9 and are stuck in this loop forever
Looking through GitHub a bit, it looks like PHPBB3-14044 removed some of the merge conflict resolution logic from the updater. The updater previously allowed you to select how each conflict would be handled. These options are no longer presented, but it appears to still have remnants since it won't let you progress.
The only way past it is to either update the database on the command line or use the browser's inspector to remove the disable flags on the "Continue update process" button.
Additionally, if I run a diff against the updated version and a clean extract of 3.3.1, there are some changes missing. Namely that the .htaccess files were not updated. They do not appear to be in the updater's set of new files for comparison.