Uploaded image for project: 'phpBB3'
  1. phpBB3
  2. PHPBB3-16570

Automatic updater no longer handles merge conflicts

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.3.1
    • Fix Version/s: 3.3.5-RC1
    • Component/s: Update system
    • Labels:
      None
    • Environment:
      PHP 7.3.13

      Description

      Steps to reproduce:

      1.  Install phpBB 3.3.0
      2. Make a change which will cause a conflict during update
        1. For example, change line 1021 of memberlist.php from 

          if ($config['jab_enable'])

          to:

          if (true)

      3. Download the 3.3.0 to 3.3.1 automatic updater
      4. Delete the vendor folder
      5. Upload the install and vendor folders
      6. Run the updater through the browser
      7. Choose "Update filesystem and database"
      8. Choose "Download modified files in an archive"
      9. A merge conflict in memberlist.php will be detected and you will be offered an archive to download.
        1. 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.
      10. Download the conflict archive. Notice that conflict is correctly identified. Fix the conflict and upload the modified version of memberlist.php
      11. Click Update Files
      12. Download the Modified Files archive
        1. Notice that the copy of memberlist.php in this archive is conflicted and contains the merge markers
      13. Upload all of these files (except memberlist.php since we already fixed it earlier)
      14. Click Check Files Again
      15. 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.

        Attachments

          Activity

            People

            Assignee:
            Marc Marc
            Reporter:
            Noxwizard Noxwizard
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: