[[PageOutline]] = How to Upgrade Roundcube = Roundcube is being maintained via git on `stallman.mayfirst.org` in the /srv directory. We have both a dev/testing site (`/srv/roundcube-dev`, accessible via https://roundcube.dev.mayfirst.org) and the live site (`/srv/roundcube`, accessible via 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 OpenPGP 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@stallman.mayfirst.org` when making all changes. == Basic Setup (only needed once) == * Create a roundcube directory on your local machine, initialize git and set your various remotes: {{{ git clone https://github.com/roundcube/roundcubemail roundcube cd roundcube git remote add gmo git://git.mayfirst.org:mfpl/roundcube git config remote.gmo.pushurl gitosis@git.mayfirst.org:mfpl/roundcube git remote update }}} * 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$ }}} == Doing an upgrade == We're leaning toward rebasing as a matter of common practice, and leaving a trail of signed tags: * start by rebasing, inspecting, verifying, signing a tag, and then pushing to `git.mayfirst.org`: {{{ git rebase 0.8.6 # examine the changelog and the git history; make sure things look sane. git tag -s -m 'Tagging roundcube with MF/PL changes version 0.8.6' roundcube-0.8.6-mfpl1 git push gmo --tags git push -f gmo }}} * Now, as `roundcube-code@stallman.mayfirst.org`, verify the tag and check it out if it looks reasonable: {{{ cd /srv/roundcube-dev git remote update git tag -v roundcube-0.8.6-mfpl1 git checkout roundcube-0.8.6-mfpl1 }}} * Test via: https://roundcube.dev.mayfirst.org/ * If all works fine, pull into the live server via `roundcube-code@stallman.mayfirst.org`: {{{ cd /srv/roundcube git remote update git tag -v roundcube-0.8.6-mfpl1 git checkout roundcube-0.8.6-mfpl1 }}} * and test it one last time at https://roundcube.mayfirst.org/