-
Notifications
You must be signed in to change notification settings - Fork 2
Upgrade to a new version
The project itself is a customized fork of the tasking manager released by hotosm. This page aims to explain how to perform an upgrade to a new released version; keep in mind that a good knowledge of git is required to perform this upgrade.
The customized version lives in the branch osm-ita
, the target is to perform a rebase of this branch on the latest tag of hotosm/tasking-manager
. It's also important to keep a copy of the current branch, in order to recover from issues.
Upgrade must be done locally. This commands list explain how to proceed in an optimist condition, what you have to do may be different, so don't just copy-paste the commands and read the whole file before proceeding.
git clone hotosm/tasking-manager # clone the official tasking manager
git fetch --all # fetch all the branches and tags
git checkout -b vx.x.x vx.x.x # create a local branch named as the version you want to upgrade to
git remote add osmit [email protected]:osmItalia/tasking-manager.git # add a remote that points to osmitalia fork
git checkout -b osmi-ita osmit/osm-ita # create a local branch synced to osm-ita
git rebase vx.x.x # rebase the branch based on the new version
-- Test the upgrade!!!
git push -f osmit osmit # push the code to the repository, attention: this command overrides the current branch
git tag vx.x.x-osmit # tag the version for the release
git push osmit vx.x.x-osmit # push also the tag
Since git push -f
is a destructive command, it's important to keep a local copy of the osm-ita
branch, this can be achieved using git checkout -b NAME
while you are on the osm-ita
branch.
Sometimes custom commits include also patches and workarounds for issues, in this case it's important to verify if the bug was fixed in the release version and remove the commit (git rebase -i GIT_COMMIT_SHA
could help to achieve this).
It's also important to verify that there are changes to environment variables and that the theme customization still applies correctly, sometimes the css
could change, or even the React components. Keep in mind that environmental variables read by the frontend MUST be supplied at build time instead of runtime.