= How to Upgrade Roundcube = Roundcube is being maintained via git on stallman.mayfirst.org in the /srv directory. We have both a /srv/roundcube-dev (accessible via https://roundcube.dev.mayfirst.org) and /srv/roundcube (https://roundcube.mayfirst.org). Both installations are maintained via git. In addition, there is a roundcube-code user that owns the code. Be sure to add your monkeysphere user id to /home/roundcube-code/.monkeysphere/authorized_user_ids and run (as root): `monkeysphere-authentication update-users roundcube-code` then login as the roundcube-code user when making all changes. Please follow these directions when upgrading. * Create a roundcube directory on your local machine, initialize git and set your various remotes: {{{ 0 jamie@animal:mfpl$ mkdir roundcube 0 jamie@animal:mfpl$ cd roundcube/ 0 jamie@animal:roundcube$ git init Initialized empty Git repository in /home/jamie/projects/mfpl/roundcube/.git/ 0 jamie@animal:roundcube$ git remote add origin https://github.com/roundcube/roundcubemail 0 jamie@animal:roundcube$ git remote add gmo gitosis@git.mayfirst.org:mfpl/roundcube 0 jamie@animal:roundcube$ git remote update Fetching origin remote: Counting objects: 60301, done. remote: Compressing objects: 100% (15914/15914), done. remote: Total 60301 (delta 43892), reused 59892 (delta 43566) Receiving objects: 100% (60301/60301), 16.07 MiB | 1.71 MiB/s, done. Resolving deltas: 100% (43892/43892), done. From https://github.com/roundcube/roundcubemail * [new branch] dev-advanced-ldap-groups -> origin/dev-advanced-ldap-groups * [new branch] devel-ldap-refactoring -> origin/devel-ldap-refactoring * [new branch] keep-alive -> origin/keep-alive * [new branch] master -> origin/master * [new branch] release-0.6 -> origin/release-0.6 * [new branch] release-0.7 -> origin/release-0.7 * [new branch] release-0.8 -> origin/release-0.8 * [new branch] release-0.9 -> origin/release-0.9 * [new branch] schema_upgrades -> origin/schema_upgrades * [new branch] session_backport -> origin/session_backport * [new branch] topics/composer -> origin/topics/composer From https://github.com/roundcube/roundcubemail * [new tag] v0.1-beta2 -> v0.1-beta2 * [new tag] v0.7.3 -> v0.7.3 * [new tag] v0.8-rc -> v0.8-rc * [new tag] v0.8.0 -> v0.8.0 * [new tag] v0.8.1 -> v0.8.1 * [new tag] v0.8.2 -> v0.8.2 * [new tag] v0.8.3 -> v0.8.3 * [new tag] v0.8.4 -> v0.8.4 * [new tag] v0.8.5 -> v0.8.5 * [new tag] v0.9-beta -> v0.9-beta * [new tag] v0.9-rc -> v0.9-rc Fetching gmo remote: Counting objects: 4182, done. remote: Compressing objects: 100% (1135/1135), done. remote: Total 3429 (delta 2507), reused 3142 (delta 2287) Receiving objects: 100% (3429/3429), 972.47 KiB | 1.47 MiB/s, done. Resolving deltas: 100% (2507/2507), completed with 347 local objects. From git.mayfirst.org:mfpl/roundcube * [new branch] master -> mfpl/master * [new branch] mfpl -> mfpl/mfpl 0 jamie@animal:roundcube$ }}} * Now, checkout (and create a branch) for the mfpl branch of the gmo remote. {{{ 0 jamie@animal:roundcube$ git checkout -b mfpl gmo/mfpl Branch mfpl set up to track remote branch mfpl from gmo. Switched to a new branch 'mfpl' 0 jamie@animal:roundcube$ }}} * If you are doing a major point upgrade (e.g. from 0.8.x to 0.9.x): * Merge. {{{ git merge origin/0.9.0 }}} * Then push to gmo {{{ git push gmo }}} * If you are doing a minor point upgrade (e.g. from 0.9.1 to 0.9.2): * rebase: {{{ git rebase origin/0.9.2 }}} * Push with the -f option to force a non-fast forward merge: {{{ git push -f gmo }}} * Now tag {{{ git tag mfpl-0.9.0 }}} * Now, test in /srv/roundcube-dev/ {{{ git checkout gmo mfpl-0.9.0 }}} * Test via: https://roundcube.dev.mayfirst.org/ * If all works fine, pull into the live server by running, in /srv/roundcube: {{{ git checkout gmo mfpl-0.9.0 }}}