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:
.
├── vendor/
│ └── ...
├── storage/
│ └── ...
├── public/
│ └── ...
├── workbench/
│ └── flarum-core/
│ └── CLONED REPOSITORY CONTENTS HERE
└── composer.json
You can then add this workbench
as a local package repository in your composer.json
:
"repositories": [
{
"type": "path",
"url": "workbench/*"
}
]
You can then cd
into the core folder within workbench
, and check out the code from the B16 release:
cd workbench/flarum-core
# 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
npm i
# 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.