
Applying changes to addons
Most addons available on GitHub are subject to change and do not follow the rules that Odoo enforces for its stable release. They may receive bug fixes or enhancements, including issues or feature requests that you submitted, and these changes may introduce database schema changes or updates in the data files and views. This recipe explains how to install the updated versions.
Getting ready
Suppose you reported an issue with partner_address_street3
and received a notification that the issue was solved in the lasted revision of the 9.0 branch of the partner-contact
project, you will want to update your instance with this latest version.
How to do it…
To apply a source modification to your addon from GitHub, you need to perform the following steps:
- Stop the instance using that addon.
- Make a backup if it is a production instance (see the recipe Manage Odoo server databases in Chapter 1, Installing the Odoo Development Environment).
- Go to the directory where partner-contact was cloned:
$ cd ~/odoo-dev/my-odoo/src
- Create a local tag for the project so that you can revert to that version in case things break:
$ git checkout 9.0 $ git tag 9.0-before-update-$(date --iso)
- Get the latest version of the source code:
$ git pull --ff-only
- Update the
partner_address_street3
addon in your databases (see previous recipe Install and upgrade local addon modules). - Restart the instance.
How it works…
This is just a simple application of all the previous recipes we've seen; we get a new version of the addon and we update it in our instances.
If git pull --ff-only
fails, you can revert to the previous version using this command:
$ git reset --hard 9.0-before-update-$(date --iso)
Then, you can try git pull
(without --ff-only
), which will cause a merge, but this means you have local changes on the addon.
See also
If the update step breaks, refer to the Updating Odoo from Source recipe in Chapter 1, Installing the Odoo Development Environment, for the recovery instructions. Remember to always test an update on a copy of a database production first.