Skip to content
Andy Theuninck edited this page Aug 25, 2016 · 4 revisions

The recommend method of tracking and updating CORE is using git and github. You're probably reading this on github so you're off to a good start.

Branches

CORE provides several branches at different stages of development. You can change which branch you're running by typing "git checkout" followed by the name of the branch. The master branch is the bleeding edge of development. Unless you are a developer, you probably do not want to run this. The version-x.y branches are numbered versions of CORE. The numbered versions only receive bug fix updates and should be fairly stable.

Updating to a New Numbered Version

Office lists the current version in the footer of most pages. Lane does not. The update procedure is however similar for both components.

  • First run git fetch to download information about new version(s).
  • Run git checkout version-x.y to switch to the new version of the software.
    • If anything goes wrong, you can switch back to the previous version in the exact same way
  • Visit the configuration page for Office or Lane, depending which is running on the machine. This will create any new database structures that are required.
  • Visit the Updates tab of the configuration page. This lists any changes that need to be made to existing database structures. Changes can be applied directly via that page or via the provided command line syntax.
    • Note: Office updates may push changes to all connected Lanes. Generally this is desirable.

Updating Within the Same Numbered Version

Again the procedure is similar for both Lane and Office. Simply run git pull.

Using the Update Tool

A script to simplify the procedure above is available. Download the tool and unpack it in the root directory of your CORE install. Run the update.php script. Note that this requires Composer. The script will offer to install composer for you. You may have to manually install sebastian/git and/or symfony/console depending how old your CORE installation is.

Once update.php is working, it provides four ways to update.

  • update:major is identical to Updating to a New Numbered Version above
  • update:minor is identical to Updating Within the Same Numbered Version above
  • update:dev is for developers who have local changes. This option will create a separate branch and merge the requested version into that new branch. This is essentially what's described in [Git Practices].
  • update:auto attempts to update to the latest version. Like update:dev this preserves local changes. A snapshot- branch is created before updating so changes can be reverted if needed. The output also contains details on how to revert changes to the current branch.
    • update:auto has a --force option that will resolve any merge conflicts automatically. Be aware that this will discard conflicting local changes.
Clone this wiki locally