This might not always work as other changes may have taken place before this PR and after 0.1.0-beta.16. As such, we do not support people doing this, and we always recommend taking regular backups, as well as full back-ups before updating.
Never perform these steps directly on a production system. Always test locally before deploying changes to a production system.
Most people would start by forking the flarum/core repository on GitHub, then cloning their fork into a folder inside their local Flarum install (usually
workbench or similar) for a directory structure like this:
│ └── ...
│ └── ...
│ └── ...
│ └── flarum-core/
│ └── CLONED REPOSITORY CONTENTS HERE
You can then add this
workbench as a local package repository in your
You can then
cd into the core folder within
workbench, and check out the code from the B16 release:
# Create new branch, local-prod, at the beta 16 tag
git checkout -b local-prod v0.1.0-beta.16
You can then cherry-pick the commits which have the changes you need. This is the trickiest part as sometimes "merge conflicts" can arise where changes have been made after the release, but before the PR was merged.
To cherry-pick, you need the commit hash where the changes were made. For PR #2752 in core, this is found here. You can copy the hash from the URL, or next to the word
commit on the right hand side.
git cherry-pick <commit SHA1 hash>
# In your example...
git cherry-pick 40dc6d0febed85db351120afe83da97f6a062336
This will take the changes from commit
40dc6d0 and apply them to your local copy of the repository.
You then need to build the local front-end code. You can do this by
cd-ing into the
js directory, then...
# Installing dependencies
# Building the JS
npm run build
Finally, you can use Composer to look at the local copy of the core package. You should see something like
symlinking package from ... when you do this.
composer update flarum/core
Finally, just clear your forum cache like normal and check it's all working.