This document describes how to contribute changes to cloud-init.
If you have not already, be sure to sign the CCA:
Clone the LaunchPad repository:
git clone [email protected]:cloud-init cd cloud-init
If you would prefer a bzr style git clone lp:cloud-init, see the Instructions on LaunchPad for more information.
Create a new remote pointing to your personal LaunchPad repository:
git remote add YOUR_USERNAME [email protected]:~YOUR_USERNAME/cloud-init
Create a new topic branch for your work:
git checkout -b my-topic-branch
Make and commit your changes (note, you can make multiple commits, fixes, more commits.):
git commit
Check pep8 and test, and address any issues:
make test pep8
Push your changes to your personal LaunchPad repository:
git push -u YOUR_USERNAME my-topic-branch
Use your browser to create a merge request:
- Open the branch on LaunchPad
- It will typically be at
https://code.launchpad.net/~YOUR_USERNAME/cloud-init/+git/cloud-init/+ref/BRANCHNAME
for example https://code.launchpad.net/~larsks/cloud-init/+git/cloud-init/+ref/feature/move-to-git
- It will typically be at
- Click 'Propose for merging`
- Select
cloud-init
as the target repository - Select
master
as the target reference path
- Open the branch on LaunchPad
Then, someone on cloud-init-dev (currently Scott Moser and Joshua Harlow) will review your changes and follow up in the merge request.
Feel free to ping and/or join #cloud-init
on freenode (irc) if you
have any questions.