Landing Changes
This page describes how a developer with PQM access can land a change.
Using ec2
To run the tests on ec2 before submitting to PQM to try and ensure you won't break the build use ec2. To use this you must be setup to use EC2Test.
From a local branch of the code that you want to submit (which should have a public branch set (TODO: link to documentation of how to set that stuff up)) simply run
ec2 land
This finds the merge proposal, infers the target branch, and then runs the test suite for you. If the suite passes, it will submit the branch to PQM on your behalf. (It will add the appropriate review tags to the message when submitting.) In order for this to work, your branch must have an approved merge proposal with the commit message set. (Don't worry, the tool will warn you right away if these conditions aren't met.)
If you want to land someone else's branch on their behalf, then you can run, from any LP branch,
ec2 land <URL of merge proposal>
or, if the branch has exactly one merge proposal,
ec2 land lp:~user/launchpad/branch-name
Run ec2 land --help to see the full list of command-line options.
Credential storage
Launchpadlib (which bin/ec2 uses) stores credentials using the python-keyring library. By default it will use GNOME or KDE keyring/wallet providers. If those aren't available it will use a password-encrypted file.
If you would instead like to forgo those storages (and any prompts they generate as well as the safety of encrypted credentials) you can create a ~/keyringrc.cfg file with these contents:
[backend] default-keyring=keyring.backend.UncryptedFileKeyring
Using lp-land
If you have the bzr-pqm plugin installed, then you can use the "lp-land" command, which works in a similar way to "ec2 land", but doesn't run the test suite first.
First, ensure that you have the PQM submission address set for your launchpad branches in ~/.bazaar/locations.conf
[/home/user/launchpad/] pqm_email = Canonical PQM <launchpad@pqm.canonical.com>
Again, from any copy of a launchpad branch run
bzr lp-land
and it will infer the details from the approved merge proposal.
Run bzr lp-land --help to see the full list of command-line options.