Add a HACKING file (in rst format).

Adding a HACKING file based upon a message from smoser on the mailing list from 12/12/2012.
This commit is contained in:
Joshua Harlow 2013-01-25 17:08:53 -08:00
commit cce6622de5

33
HACKING Normal file
View File

@ -0,0 +1,33 @@
=====================
Hacking on cloud-init
=====================
To get changes into cloud-init, the process to follow is:
* If you have not already, be sure to sign the CCA:
- `Canonical Contributor Agreement`_
* Get your changes into a local bzr branch. Initialize a repo, and checkout trunk (init repo is to share bzr info across multiple checkouts, its different than git):
- ``bzr init-repo cloud-init``
- ``bzr branch lp:cloud-init trunk.dist``
- ``bzr branch trunk.dist my-topic-branch``
* Commit your changes (note, you can make multiple commits, fixes, more commits.):
- ``bzr commit``
* Check pylint and pep8 and test, and address any issues:
- ``make test pylint pep8``
* Push to launchpad to a personal branch:
- ``bzr push lp:~<YOUR_USERNAME>/cloud-init/<BRANCH_NAME>``
* Propose that for a merge into lp:cloud-init via web browser. Open the branch in `Launchpad`_, it will be at https://code.launchpad.net/<YOUR_USERNAME>/<PROJECT>/<BRANCH_NAME> (ie. https://code.launchpad.net/~smoser/cloud-init/mybranch):
- Click 'Propose for merging'
- Select 'lp:cloud-init' as the target branch
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 #cloud-init on freenode if you have any questions.
.. _Launchpad: https://launchpad.net
.. _Canonical Contributor Agreement: http://www.canonical.com/contributors